feat(app-router): migrate landing + content routes to App Router
Step 3 (group 1 of 3) of the foundation redesign. Stands up the root
App-Router shell and moves the low-risk static/content routes onto it,
leaving ParVagues + CosmicFest on the Pages Router for now (no route URL
changes — the smoke net stays green across the split).
- app/layout.tsx: the one root shell (<html>/<body> + global CSS), with
the shared <head> (OG/twitter/icons/title template) consolidated from
components/layout.js into the Metadata API.
- Migrated: / , /talks, /starry-nights, /hydra, /hydra/[id],
/post/[id], /poesie/[id], /poesie, /fleurs. getStaticProps -> inline
server fetch; getStaticPaths -> generateStaticParams; <Head> -> metadata.
- components/layout.js: now a client component using next/navigation
(router.back) instead of next/router; <Head> removed.
- Client boundaries split out where needed: HydraClient (ssr:false dynamic),
PoemsBrowser (filter/sort state), FleursClient (p5 + styled-jsx).
- Deprecation sweep: dropped next/link legacyBehavior (talks, starry-nights;
they wrapped invalid nested anchors) and the render-blocking Google Fonts
<link> on /fleurs (now next/font Cormorant Garamond). Removed dead
ReactPlayer import on /talks.
- tsconfig moduleResolution -> bundler; added .yarn/sdks (PnP TS SDK for
editors). next.config: skip Next's build-time type-check — its generated
route validators deep-import a Next-internal type that stock (non-PnP)
tsc can't resolve in Yarn PnP zips; SWC compile + lint + smoke are the gates.
Build green (App + Pages split); route-smoke 14/14.
Co-Authored-By:
Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Showing
.yarn/sdks/integrations.yml
0 → 100644
.yarn/sdks/typescript/bin/tsc
0 → 100755
.yarn/sdks/typescript/bin/tsserver
0 → 100755
.yarn/sdks/typescript/lib/tsc.js
0 → 100644
.yarn/sdks/typescript/lib/tsserver.js
0 → 100644
.yarn/sdks/typescript/lib/tsserverlibrary.js
0 → 100644
.yarn/sdks/typescript/lib/typescript.js
0 → 100644
.yarn/sdks/typescript/package.json
0 → 100644
This diff is collapsed.
Click to expand it.
app/fleurs/page.js
0 → 100644
app/hydra/[id]/HydraClient.js
0 → 100644
app/hydra/[id]/page.js
0 → 100644
app/layout.tsx
0 → 100644
app/poesie/page.js
0 → 100644
pages/hydra/[id].js
deleted
100644 → 0
Please
register
or
sign in
to comment