improve setup UX: password field, setup hook, checklist banners, theme tweaks
All checks were successful
deploy / deploy (push) Successful in 1m31s

- add password field and required shop name to setup wizard
- extract SetupHook for DRY redirect to /setup when no admin exists
- add ?from=checklist param to checklist hrefs with contextual banner on
  email settings and theme pages for easy return to dashboard
- remove email warning banner from admin layout (checklist covers it)
- make email a required checklist item (no longer optional)
- add DevReset module for wiping dev data without restart
- rename "Theme Studio" to "Theme", drop subtitle
- lower theme editor side-by-side breakpoint from 64em to 48em
- clean up login/registration pages (remove dead registration_open code)
- fix settings.put_secret to invalidate cache after write

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
jamey
2026-03-03 17:41:08 +00:00
parent 0853b6f528
commit 64f083d271
23 changed files with 309 additions and 118 deletions

View File

@@ -69,7 +69,13 @@ defmodule BerrypodWeb.Setup.OnboardingTest do
{:ok, view, _html} = live(conn, ~p"/setup")
view
|> form(~s(form[phx-submit="create_account"]), account: %{email: "admin@example.com"})
|> form(~s(form[phx-submit="create_account"]),
account: %{
shop_name: "Test Shop",
email: "admin@example.com",
password: "valid_password_123"
}
)
|> render_submit()
# The LiveView redirects to /setup/login/:token