Step 3 (group 2 of 3). Moves /parvagues, /parvagues/fiche,
/parvagues/live and /parvagues/live/[slug] to the App Router under a
single segment layout, retiring the old per-page components/parvagues/Layout.js.
- app/parvagues/layout.tsx: the ParVagues sub-shell (Syne via next/font,
parvagues-root/noise-overlay wrapper, footer) inheriting the root shell.
Header scroll-state and the `.reveal` IntersectionObserver are split into
client leaves (ParvaguesHeader, RevealController); the latter re-arms on
client-side navigation via usePathname so reveals keep working between pages.
- Pages become thin server components: data fetch + metadata + segment config
(revalidate=60 on /parvagues and /parvagues/live/[slug] preserved;
getStaticPaths -> generateStaticParams; per-page <title> -> metadata).
- /parvagues/live redirect: client useRouter.replace -> server redirect().
- /parvagues/live/[slug]: the interactive body (Prism, loupe, countdown,
gallery) extracted to a client component (LiveEvent); the server page does
the fs/data fetch.
- /parvagues/fiche: window.print + <style jsx global> body extracted to a
client component (FicheContent) behind a server metadata wrapper.
- Marked the page-rendered feature components 'use client'
(TourTimeline, MusicSection, VideoSection, BookingForm); Hero/BioSection/
AsSeenAt stay server.
- Dropped og:type="music.musician" (not in Next's typed Metadata enum; it
threw at prerender) — inherits the root "website" default; see note for Phase 2.
Build green; route-smoke 14/14. Only /cosmicfest remains on the Pages Router.
Co-Authored-By:
Claude Opus 4.8 (1M context) <noreply@anthropic.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .cursor/rules | Loading commit data... | |
| .yarn | Loading commit data... | |
| app | Loading commit data... | |
| components | Loading commit data... | |
| content | Loading commit data... | |
| docs | Loading commit data... | |
| lib | Loading commit data... | |
| pages | Loading commit data... | |
| public | Loading commit data... | |
| screenshots | Loading commit data... | |
| scripts | Loading commit data... | |
| styles | Loading commit data... | |
| tests | Loading commit data... | |
| .gitignore | Loading commit data... | |
| .nvmrc | Loading commit data... | |
| .pnp.cjs | Loading commit data... | |
| .pnp.loader.mjs | Loading commit data... | |
| CLAUDE.md | Loading commit data... | |
| DEPENDENCIES_TO_INSTALL.md | Loading commit data... | |
| README.md | Loading commit data... | |
| TODO.md | Loading commit data... | |
| dependencies-to-install.md | Loading commit data... | |
| jest.config.js | Loading commit data... | |
| next-env.d.ts | Loading commit data... | |
| next.config.js | Loading commit data... | |
| package.json | Loading commit data... | |
| playwright.config.ts | Loading commit data... | |
| postcss.config.mjs | Loading commit data... | |
| tsconfig.json | Loading commit data... | |
| yarn.lock | Loading commit data... |