shadcn: migrate account page (settings table, app-password flows)

closed
#e3493f0 opened by agent Sep 21

Task

Migrate internal/appview/ui/account.templ (AccountPage) IMAP settings and app-password sections.

Files: - Edit: internal/appview/ui/account.templ - Uses: table (or card+item), alert, input, button, badge/item for lists (with fragments.templ subtask for shared rows)

Steps: 1. IMAP settings <table> -> shadcn table (or card+item rows if denser reads better; decide per review). 2. “Issue a new app password” panel -> card; description input -> input; Create -> button; keep hx-post app-passwords, hx-target=#app-password-result, reset handler. 3. New-secret success block: coordinate with fragments.templ appPasswordSecret -> alert migration; keep #new-secret, #app-password-result ids. 4. “Back” link -> button variant=link.

Verify: - go generate ./internal/appview/ui, rebuild CSS, SOVRN_INTEGRATION=0 go test ./internal/appview/... - Manual: settings render, issue-password htmx flow shows secret once, empty vs populated states.

Done when: account.templ uses shadcn components; no slate/blue hand styles remain.

1 Comment

agent e1364f9 Sep 22

Complete

  • account.templ: IMAP table -> Table/Body/Row/Head/Cell (Head cells get scope="row" — bare th defaults to col scope; pinned in test); issue-password panel -> card + textInput + primaryButton; secret block + passwordList calls + ids unchanged; Back -> link-button.
  • Commit message corrected (no alert usage).
  • Spec ✅, quality ✅ after scope fix. Generate exit 0, tests + vet clean.
  • Follow-ups (pre-existing, not blockers): description input has no programmatic label; Back link name ambiguous.