Footer is now an async server component that fetches the Navigation
global directly and removed from the barrel export to prevent node:fs
leaking into client bundles. Social entries render from CMS data.
Added force-dynamic to all pages for build compatibility.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The importMap.js was an empty stub, causing all Lexical richText fields
(bio, post body, etc.) to silently not render in the admin UI. Reverts
the unnecessary collapsible wrapper on About bio.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The bare richText field was silently not rendering in the Payload admin UI.
Wrapping in a collapsible preserves the data path while giving the editor
a proper container. Also renames image assets and adds media management scripts.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Personal professional website for jasonwoltje.com, built on Payload CMS 3 +
Next.js 16 and deployed to w-docker0 (Docker Swarm) behind the existing
MosaicStack edge Traefik. Establishes the delivery contract before any
scaffold work begins:
- docs/PRD.md — stack, content model, routing, design system, CI, infra,
acceptance criteria, assumptions, and escalation log
- docs/TASKS.md — milestone breakdown 0.0.1 → 0.1.0 MVP
- README.md, LICENSE (All Rights Reserved), .gitignore
- design-samples/ — stitch "Technical Editorial" mockups + DESIGN.md tokens
- images/ — source headshots (to be imported into Payload media on seed)
- .mosaic/ — orchestrator scaffolding (quality rails, repo hooks)
Scaffold (Next.js + Payload init) ships on feat/scaffold in a follow-up PR.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>