Un visiteur déconnecté sur `/` voit désormais une vraie page de présentation avant qu'on lui demande de se connecter, au lieu d'être renvoyé directement vers `/login`. - `RequireAuth.tsx` devient sensible au chemin : dans sa branche `!user`, `pathname === "/"` rend `<LandingPage />` ; toutes les autres routes protégées redirigent vers `/login` exactement comme avant. Aucun changement de la table de routes — `/` reste `<PlanningPage>` niché sous `RequireAuth`+`AppLayout`, et `AppLayout` (donc la sidebar) ne monte jamais pour la vitrine. - `pages/landing/LandingPage.tsx` + `landing-page.scss` : hero (accroche + illustration SVG dessinée à la main dans le langage de `lucide-react`, zéro dépendance ni asset externe) + deux CTA, grille de 4 fonctionnalités (icônes lucide), section « aperçu », CTA final. Copie entièrement sous le namespace i18n `landing.*`. - `index.html` : favicon SVG (monogramme « bC ») + `<meta description>` — `/` est maintenant une page publique partageable. - Les 3 captures d'écran réelles de la section « aperçu » sont servies statiquement depuis `public/landing/` (un fichier manquant retombe sur son `alt`, ne casse pas le build) ; elles restent à produire par un humain avec l'app lancée sur des données réelles — cf. `public/landing/README.md`. - Tests Cypress `landing.feature` : vitrine visible déconnecté sur `/`, CTA vers `/login` et `/signup`, autre route protégée toujours redirigée, visiteur connecté voit bien le planning. `smoke.cy.ts` mis à jour pour tester la redirection depuis `/recettes` (puisque `/` ne redirige plus). Closes #41 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
19 lines
936 B
Markdown
19 lines
936 B
Markdown
# Landing-page screenshots
|
|
|
|
`LandingPage.tsx`'s "Un aperçu" section shows three real screenshots of the
|
|
running app, served as static files from here (referenced as
|
|
`/landing/<name>.png`, no Vite import — a missing file just leaves the
|
|
`alt` text, it doesn't break the build).
|
|
|
|
To fill them in, run the app against a seeded database (`pnpm dev` with a
|
|
real API + `prisma db seed`), sign in, and capture at a desktop width
|
|
(~1440px), then drop the files here with these exact names:
|
|
|
|
| File | What to capture |
|
|
|---|---|
|
|
| `planning.png` | The weekly planning grid (`/`) with a full week of recipes planned |
|
|
| `recipe.png` | A recipe detail panel (`/recettes/:id`) with cooking techniques highlighted in the steps |
|
|
| `cooking-session.png` | The optimized cooking session (`/cuisiner`) with its grouped phases |
|
|
|
|
Keep them reasonably sized (≈1400px wide, PNG, optimised). They're
|
|
purely presentational — no test depends on them.
|