xtablo-source/backend/internal/web/ui
Arthur Belleville 4046783fd4
feat(13-05): create catalog package with route files and router wiring
- Add backend/internal/web/ui/catalog/catalog.templ: single-page layout
  with 240px sidebar nav (11 anchor links) and 11 component sections with
  section headings matching DS-XX requirement IDs
- Add backend/internal/web/ui/catalog/examples.go: Example struct + typed
  example functions for all 11 component types (badge/button/card/empty-state/
  form-field/icon-button/input/modal/select/table/textarea); modal renders
  panel-only (no backdrop wrapper, Pitfall 7)
- Add backend/internal/web/catalog_route_catalog.go (//go:build catalog):
  RegisterCatalogRoute mounts GET /ui-catalog via catalogPageHandler()
- Add backend/internal/web/catalog_route_stub.go (//go:build !catalog):
  no-op RegisterCatalogRoute for production builds
- Wire RegisterCatalogRoute(r) unconditionally in NewRouter after protected routes
- Add justfile catalog target: just generate + go run -tags catalog ./cmd/web
- go build ./... and go build -tags catalog ./... both pass; go test ./... green
2026-05-16 14:13:30 +02:00
..
catalog feat(13-05): create catalog package with route files and router wiring 2026-05-16 14:13:30 +02:00
auth.css feat(13-01): replace base.css with 223-line token vocabulary and extract auth.css 2026-05-16 13:43:56 +02:00
badge.css feat(13-02): replace CSS files, migrate card.templ to typed API, update all template hardcodes 2026-05-16 13:55:30 +02:00
badge.templ feat(01-02): add Button, Card, Badge templ components + CSS 2026-05-14 18:46:42 +02:00
base.css feat(13-01): replace base.css with 223-line token vocabulary and extract auth.css 2026-05-16 13:43:56 +02:00
button.css feat(13-02): replace CSS files, migrate card.templ to typed API, update all template hardcodes 2026-05-16 13:55:30 +02:00
button.templ feat(13-04): port icon-button/space components; wire UIIcon into button.templ; update tailwind.input.css (GREEN) 2026-05-16 14:07:07 +02:00
card.css feat(13-02): replace CSS files, migrate card.templ to typed API, update all template hardcodes 2026-05-16 13:55:30 +02:00
card.templ feat(13-02): replace CSS files, migrate card.templ to typed API, update all template hardcodes 2026-05-16 13:55:30 +02:00
csrf_field.templ feat(02-07): gorilla/csrf integration — mount middleware, wire all forms, env-driven key 2026-05-14 22:59:06 +02:00
empty-state.css feat(13-04): port modal, empty-state, table components with CSS and templ (GREEN) 2026-05-16 14:05:11 +02:00
empty_state.templ feat(13-04): port modal, empty-state, table components with CSS and templ (GREEN) 2026-05-16 14:05:11 +02:00
form-field.css feat(13-03): port select + form-field components with CSS and helpers (GREEN) 2026-05-16 14:00:51 +02:00
form_field.templ feat(13-03): port select + form-field components with CSS and helpers (GREEN) 2026-05-16 14:00:51 +02:00
helpers.go feat(13-01): extend variants.go with new enums and helpers.go with helper functions (GREEN) 2026-05-16 13:46:30 +02:00
icon-button.css feat(13-04): port icon-button/space components; wire UIIcon into button.templ; update tailwind.input.css (GREEN) 2026-05-16 14:07:07 +02:00
icon_button.templ feat(13-04): port icon-button/space components; wire UIIcon into button.templ; update tailwind.input.css (GREEN) 2026-05-16 14:07:07 +02:00
input.css feat(13-03): port input.templ/input.css and textarea.templ/textarea.css (GREEN) 2026-05-16 13:59:03 +02:00
input.templ feat(13-03): port input.templ/input.css and textarea.templ/textarea.css (GREEN) 2026-05-16 13:59:03 +02:00
modal.css feat(13-04): port modal, empty-state, table components with CSS and templ (GREEN) 2026-05-16 14:05:11 +02:00
modal.templ feat(13-04): port modal, empty-state, table components with CSS and templ (GREEN) 2026-05-16 14:05:11 +02:00
select.css feat(13-03): port select + form-field components with CSS and helpers (GREEN) 2026-05-16 14:00:51 +02:00
select.templ feat(13-03): port select + form-field components with CSS and helpers (GREEN) 2026-05-16 14:00:51 +02:00
select_helpers.go feat(13-03): port select + form-field components with CSS and helpers (GREEN) 2026-05-16 14:00:51 +02:00
space.templ feat(13-04): port icon-button/space components; wire UIIcon into button.templ; update tailwind.input.css (GREEN) 2026-05-16 14:07:07 +02:00
spacing.css feat(13-04): port icon-button/space components; wire UIIcon into button.templ; update tailwind.input.css (GREEN) 2026-05-16 14:07:07 +02:00
table.css feat(13-04): port modal, empty-state, table components with CSS and templ (GREEN) 2026-05-16 14:05:11 +02:00
table.templ feat(13-04): port modal, empty-state, table components with CSS and templ (GREEN) 2026-05-16 14:05:11 +02:00
textarea.css feat(13-03): port input.templ/input.css and textarea.templ/textarea.css (GREEN) 2026-05-16 13:59:03 +02:00
textarea.templ feat(13-03): port input.templ/input.css and textarea.templ/textarea.css (GREEN) 2026-05-16 13:59:03 +02:00
tokens.go feat(01-02): add ui package enums, helpers, base CSS 2026-05-14 18:45:15 +02:00
ui_test.go test(13-04): add failing tests for IconButton, UIIcon, Space, and Button icon wiring (RED) 2026-05-16 14:05:44 +02:00
variants.go feat(13-02): multi-class ButtonClass() + Icon field + buttonType helper in button.templ 2026-05-16 13:52:01 +02:00