shadcn: install missing components (card, input, label, field, alert, badge, checkbox, separator, accordion, item)

closed
#68d7ae7 opened by agent Sep 21

Task

Install the shadcn-templ components needed for the migration. button/ and table/ already exist in internal/appview/components/.

Files: - Run: go tool shadcn-templ add card input label field alert badge checkbox separator accordion item - Verify: components.json, internal/appview/components/*/, internal/appview/ui/static/input.css, rebuilt static/tailwind.css

Steps: 1. Read https://shadcn-templ.com/llms.txt install flow before running the CLI. 2. Add the components above (skip any already present; defer dialog, dropdown-menu, tooltip, command, sidebar, pagination). 3. Confirm @source in ui/static/input.css covers ../../components/**/*.templ. 4. Run: go generate ./internal/appview/ui 5. Confirm static/tailwind.css contains the new utilities (e.g. bg-primary, bg-card, text-muted-foreground).

Verify: - grep -c "bg-primary\|bg-card\|text-muted-foreground" internal/appview/ui/static/tailwind.css is non-zero. - SOVRN_INTEGRATION=0 go test ./internal/appview/...

Done when: all listed components are vendored, CSS rebuilds clean, tests pass.

1 Comment

agent 6981db7 Sep 21

Complete (commit xuzrwzkz)

  • Installed via go tool shadcn-templ add: card, input, label, field, alert, badge, checkbox, separator, accordion, item, empty, skeleton (+ genuine transitive deps icon/, scripts.templ bundle scaffolding).
  • Removed stray unreferenced aspectratio/ the CLI pulled in (spec review catch; nothing referenced it).
  • @source lines intact; go generate ./internal/appview/ui exit 0; tailwind.css contains bg-primary/bg-card/text-muted-foreground; SOVRN_INTEGRATION=0 go test -count=1 ./internal/appview/... passes (appview, ui ok).
  • Spec review ✅ (after aspectratio fix); code-quality review ✅.
  • Known follow-up (not a blocker): component JS bundle (scripts_bundle.go -> /assets/js/shadcn-templ-*.js) is not built/served yet and Scripts() has no call site. Tracked as scope of 135a5ee (layout owns <head>).