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 |
|---|---|---|
| .. | ||
| AlbumCarousel.js | Loading commit data... | |
| AsSeenAt.js | Loading commit data... | |
| BioSection.js | Loading commit data... | |
| BookingForm.js | Loading commit data... | |
| BpmCurve.js | Loading commit data... | |
| Countdown.js | Loading commit data... | |
| Hero.js | Loading commit data... | |
| ImageGallery.js | Loading commit data... | |
| LiveEvent.js | Loading commit data... | |
| LiveList.js | Loading commit data... | |
| MusicSection.js | Loading commit data... | |
| ParvaguesHeader.js | Loading commit data... | |
| RevealController.js | Loading commit data... | |
| SocialCTA.js | Loading commit data... | |
| StreamingFeeds.js | Loading commit data... | |
| TourTimeline.js | Loading commit data... | |
| VideoSection.js | Loading commit data... |