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>
| 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... |