TRACKING: migrate appview to shadcn-templ UI components
closedGoal
Migrate the sovrn appview (internal/appview/ui/*.templ) from hand-rolled Tailwind (slate/blue) to shadcn-templ components in internal/appview/components/, gaining variant styling and better accessibility.
Agent instructions: https://shadcn-templ.com/llms.txt
CLI: go tool shadcn-templ <command> (see components.json)
Shared helper: CN() in internal/appview/ui/utils/shadcn-templ.go
Regen after any templ/CSS change: go generate ./internal/appview/ui (templ + tailwindcss -i static/input.css -o static/tailwind.css)
Audit findings (change uvkzsttv)
button/andtable/installed but unused;domain_templ.go/login_templ.godiffs are templ-regen churn only.- FIXED alongside this issue:
@sourceinui/static/input.csscovered only../*.templ, missing../../components/**/*.templ;ui/static/tailwind.csswas stale (nobg-primary/border-borderutilities). - Visual risk:
@layer baseappliesborder-border/bg-backgroundglobally, so the first rebuild shifts borders/background away from slate/white. Expect diffs on every page.
Scope (this epic)
- Install:
card,input,label,field,alert,badge,checkbox,separator,accordion,item(deferdialog,dropdown-menu,tooltip,command,sidebar,pagination). - Migrate per-page subtasks below.
- Out of scope:
data-copyclick-to-copy replacement (separate Web Awesomecopy-buttonissue).
Verification per subtask
go tool shadcn-templ add <component>as needed; keepcomponents.jsonaliases.go generate ./internal/appview/ui, confirm new utilities present instatic/tailwind.css.SOVRN_INTEGRATION=0 go test ./internal/appview/...(orjust test).- Manual: page renders, htmx flows (form-error OOB swaps, mailbox/password lists) still work.