improve email settings progressive enhancement and admin layout
Some checks failed
deploy / deploy (push) Has been cancelled

- semantic HTML: step numbers inside h2, strong provider names, details
  for adapter configs, strong error messages, fieldset drawer toggle hidden
- inline field errors via flash for no-JS controller fallback
- single form POST button for test email (works with and without JS)
- admin sidebar: remove brand/view-shop, move user email to footer nav
- replace inline style with .admin-setup-step-spaced class
- clean up unused CSS (.admin-brand, .admin-sidebar-header, etc.)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
jamey
2026-03-05 15:29:05 +00:00
parent 5dee2ae0be
commit c6636cab65
8 changed files with 91 additions and 126 deletions

View File

@@ -252,7 +252,7 @@ defmodule BerrypodWeb.Admin.EmailSettingsTest do
assert html =~ "sr-only"
end
test "only selected adapter config is visible (hidden attribute)", %{conn: conn} do
test "only selected adapter config is open (details element)", %{conn: conn} do
{:ok, view, _html} = live(conn, ~p"/admin/settings/email")
# Select SMTP
@@ -260,12 +260,12 @@ defmodule BerrypodWeb.Admin.EmailSettingsTest do
|> form("form[phx-change=\"form_change\"]", %{email: %{adapter: "smtp"}})
|> render_change()
# SMTP should not be hidden
refute has_element?(view, ~s([data-adapter="smtp"][hidden]))
# Others should be hidden
assert has_element?(view, ~s([data-adapter="brevo"][hidden]))
assert has_element?(view, ~s([data-adapter="sendgrid"][hidden]))
assert has_element?(view, ~s([data-adapter="postal"][hidden]))
# SMTP details should be open
assert has_element?(view, ~s(details[data-adapter="smtp"][open]))
# Others should not be open
refute has_element?(view, ~s(details[data-adapter="brevo"][open]))
refute has_element?(view, ~s(details[data-adapter="sendgrid"][open]))
refute has_element?(view, ~s(details[data-adapter="postal"][open]))
end
end