Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
W
www
  • Overview
    • Overview
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 1
    • Issues 1
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • PLN
  • www
  • Repository

Switch branch/tag
  • www
  • app
  • parvagues
  • live
  • page.js
Find file
BlameHistoryPermalink
  • PLN (Algolia)'s avatar
    feat(app-router): migrate ParVagues onto the shared shell · 8206199a
    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: 's avatarClaude Opus 4.8 (1M context) <noreply@anthropic.com>
    PLN (Algolia) authored Jun 07, 2026
    8206199a
page.js 190 Bytes
EditWeb IDE
×

Replace page.js

Attach a file by drag & drop or click to upload


Cancel
A new branch will be created in your fork and a new merge request will be started.