Commit graph

2 commits

Author SHA1 Message Date
deec91c5a3 fix(recipes): synchronise les sources en base au démarrage de l'image de prod
Le conteneur de prod ne peuplait jamais la table Source : seed-runtime.ts
(l'entrée seed de l'image Docker, exécutée après `prisma migrate deploy`)
n'appelait que seedReferenceData(), jamais registerAllRecipeSources()/
syncRecipeSources() — contrairement à prisma/seed.ts (dev). server.ts
enregistre bien les adaptateurs dans son propre registre en mémoire, mais
c'est un processus distinct de celui qui lance seed-runtime.js dans la
chaîne CMD du Dockerfile ; sans ce sync, GET /reference/sources renvoyait
toujours [], et HouseholdSettingsPage masquait silencieusement toute la
section sources (sources.length === 0 → return null). C'est ce que
l'utilisateur a remarqué : impossible de paramétrer les sources visibles
du foyer en prod.

Vérifié en local : Source/HouseSource vidées, seed-runtime.js compilé
relancé exactement comme le ferait le conteneur (migrate deploy déjà
appliqué, puis ce script) → les deux sources (TheMealDB, JSON-LD) sont
bien resynchronisées.

Ajoute aussi la couverture Cypress du parcours "sources" qui manquait :
- onboarding.feature : nouveau scénario où le catalogue de sources n'est
  pas vide — l'étape /onboarding/sources s'affiche et se soumet, au lieu
  du seul scénario existant qui la voyait toujours skippée (catalogue
  vide).
- household-settings.feature : nouveaux scénarios pour la section sources
  de /parametres/foyer — affichage + sauvegarde (autosave incluse) quand
  des sources existent, et disparition complète de la section quand le
  catalogue est vide.
- Nouvelles steps partagées (reference-data.steps.ts pour le catalogue,
  household-mutations.steps.ts pour la sélection par foyer).

Non exécutés localement : Chromium/Electron headless plante au lancement
du process GPU dans cet environnement (limitation documentée du README,
reproductible sur main, sans lien avec ce changement) — vérifiés par
relecture attentive contre le code source réel (libellés de traduction,
routes, formes de requête/réponse) et en suivant le même gabarit que les
scénarios existants déjà verts en CI.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-20 13:48:29 +02:00
kyuno053
6302310dba
Apply "Mise en Place" visual identity to auth/home screens (#8)
Fills in the design tokens proposed for the app (palette, type scale,
shadows/radii, and a real dark theme) and applies them to the existing
auth and home pages:

- _theme.scss: full token set — basil/vermillion/turmeric/raspberry
  palette, heading type scale (was missing above --font-size-base),
  elevation/radius scale, and a working dark theme via
  prefers-color-scheme (color-scheme: light dark was declared but
  unused). Includes a 3-tier allergen/intolerance color scale, kept
  distinct from --color-error, for when the recipe/allergy feature
  lands — not yet consumed by any component.
- global.scss: box-sizing reset, headings on the display font stack,
  visible focus ring.
- auth-form.scss / HomePage.scss(+tsx): both screens now render their
  content on a raised card (--color-surface, radius, shadow) instead
  of directly on the page background, so login/signup and home read
  as one coherent app.

Also adds .claude/launch.json (pnpm --filter web dev, port 5173) used
to preview the change locally.

Verified: `vite build` passes; computed styles checked live against
the token values in both themes.
2026-08-16 19:43:13 +02:00