Fix form control consistency; add frontend style guide
- QuantityInput unit select: add bg-white (browser defaults to gray without it) and capitalize default option to "Unit" - Shopping list section dropdowns: rename "Uncategorized" → "No section" for consistent title-case phrasing across all default options - src/frontend/STYLE_GUIDE.md: documents form control classes, button variants, text casing rules, icon usage, color tokens, and spacing rhythm so all future UI work stays consistent - CLAUDE.md: link to the style guide so it is always consulted Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -88,6 +88,8 @@ When adding a feature: create `Features/<Name>/<Name>Endpoints.cs` with a `Map<N
|
||||
|
||||
### Frontend — SvelteKit with runes
|
||||
|
||||
**UI consistency:** all form controls, buttons, colors, icons, spacing, and text casing are governed by `src/frontend/STYLE_GUIDE.md`. Read it before adding or modifying any UI component — deviating without a documented reason is a bug.
|
||||
|
||||
- `svelte.config.js` forces `runes: true` for all non-`node_modules` files. Use Svelte 5 runes (`$state`, `$derived`, `$effect`); do not use legacy reactive `$:` syntax.
|
||||
- `src/lib/api.ts` — `api<T>(path, opts)` helper. Stores the JWT in `localStorage` under `token`, attaches `Authorization: Bearer …`, and on 401 it clears the token and `goto('/login')`.
|
||||
- `src/lib/auth.svelte.ts` — runes-based auth state.
|
||||
|
||||
Reference in New Issue
Block a user