feat(web): page vitrine publique à la racine (#41) #57
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/landing-page"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Corrige l'issue #41. 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.Routage — une seule ligne de changement
RequireAuth.tsxdevient sensible au chemin : dans sa branche!user,pathname === "/"rend<LandingPage />; toutes les autres routes protégées redirigent vers/loginexactement comme avant. Aucun changement de la table de routes (App.tsxinchangé) —/reste<PlanningPage>niché sousRequireAuth+AppLayout.AppLayout(donc la sidebar) ne monte jamais pour la vitrine ; une fois connecté,/retombe surchildren(le planning) sans changement. Documenté dans le JSDoc deRequireAuthet dansspecs/frontend-architecture.md.Page
pages/landing/LandingPage.tsx+landing-page.scss, sur les tokens de_theme.scss, responsive (@media640/860px), zéro nouvelle dépendance ni asset externe :currentColor, même langage quelucide-react) + deux CTA (/signup,/login).public/landing/(un fichier manquant retombe sur sonalt, ne casse pas le build). À produire par un humain avec l'app lancée sur des données réelles — impossible à générer proprement en headless sans backend ; instructions danspublic/landing/README.md. Même esprit que l'étape « projet natif » de la phase 2 de #39.Copie entièrement sous le namespace i18n
landing.*(le contenu des étapes reste du texte, pas de maquette).Bonus (demandé dans le ticket)
index.htmlgagne un favicon SVG (monogramme « bC », couleur primaire) et un<meta name="description">—/est maintenant une page publique partageable.Tests
cypress/e2e/landing.feature(5 scénarios) : vitrine visible déconnecté sur/(titre + CTA vers/signupet/login), clic « Se connecter » →/login, clic « Créer un compte » →/signup,/recettesdéconnecté redirige toujours vers/login, visiteur connecté sur/voit bien le planning et pas la vitrine.smoke.cy.tsmis à jour pour tester la redirection depuis/recettes(puisque/ne redirige plus).Vérifié en local :
pnpm build+pnpm lintverts ; Cypresslanding/smoke/auth.feature/layout/planning-page/sidebar= 39/39 sur deux runs (start-server-and-test, même harnais que le jobe2e).Closes #41
🤖 Generated with Claude Code