feat(recipes): add recipe module with local-first data, encryption, and card UI

New "Rezepte" module following the established scoped-CSS + theme-token
pattern. Includes Dexie schema (v8), encryption for user-typed fields,
3 German seed recipes, search/filter/tag UI, inline creation form, and
expanded detail view with ingredients checklist and numbered steps.

Also documents the frontend styling inconsistency (13/40 ListViews use
Tailwind instead of scoped CSS) in docs/optimizable/ for future cleanup.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-04-13 16:45:41 +02:00
parent 65160024f7
commit f5b9d0a31f
17 changed files with 1453 additions and 0 deletions

View file

@ -0,0 +1,51 @@
# Frontend Consistency Improvements
Tracked improvements for UI/styling consistency across the Mana unified app.
## 1. Standardize ListView Styling Approach
**Status:** Open
**Priority:** Low (no functional impact, maintenance concern)
**Effort:** Medium (13 modules to migrate)
### Problem
Module ListViews use two different styling approaches:
- **Scoped CSS + `hsl(var(--color-*))` theme tokens** — 27 modules (65%)
- todo, notes, drink, contacts, journal, dreams, habits, firsts, calendar, chat, places, inventory, finance, news, body, calc, events, photos, automations, cycles, uload, picture, recipes
- **Tailwind utility classes** — 13 modules (35%)
- nutriphi, plants, moodlit, cards, presi, storage, skilltree, context, guides, memoro, who, music, playground, citycorners, questions, times
### Why it matters
- Tailwind modules sometimes hardcode colors (`bg-white/5`, `text-white/80`) instead of using theme tokens, breaking theme consistency.
- `transition-all` in Tailwind classes can cause rendering bugs with CSS custom properties (recipe module had invisible text until hover — fixed by switching to specific transition properties).
- Mixed approaches make it harder to audit theme compliance and onboard new contributors.
### Recommendation
Migrate the 13 Tailwind-based ListViews to scoped CSS with `hsl(var(--color-*))` tokens, matching the majority pattern. Key rules:
1. Use `hsl(var(--color-foreground))`, `hsl(var(--color-muted))`, etc. — not hardcoded colors.
2. Use specific `transition: transform 0.15s, box-shadow 0.15s` — never `transition-all` (causes CSS variable animation bugs).
3. Keep scoped `<style>` blocks — no Tailwind utility classes in ListView templates.
### Modules to migrate
- [ ] nutriphi
- [ ] plants
- [ ] moodlit
- [ ] cards
- [ ] presi
- [ ] storage
- [ ] skilltree
- [ ] context
- [ ] guides
- [ ] memoro
- [ ] who
- [ ] music
- [ ] playground
- [ ] citycorners
- [ ] questions
- [ ] times