Repository navigation
Render the PolicyEngine site shell - #11
Conversation
The dashboard is proxied under policyengine.org/uk/free-childcare-reform
as a multizone child, and the parent does not inject its shell into the
child's response — so a child that does not render the header and footer
itself is served with no site nav at all. app-v2's app-zone-shell-audit
enforces this and fails the route: "top shell nav labels missing:
Research, Model, API, Donate".
Adds the header and footer bus-fare-cap ships, pointing at the UK site,
and wires them around {children} in the root layout. The header is
static rather than sticky so the analysis's own sticky title row keeps
the top of the viewport while scrolling.
The dashboard's own CI already had a shell step asserting the title, on
the premise that the page was "the analysis and nothing else: no site
nav, no brand bar, no footer". That premise is what the audit rejects,
so the step now asserts the nav labels and footer links too, and a
missing shell fails here at PR time instead of in the nightly
production audit.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
- About pointed at policyengine.org/uk/about, which 404s (the main site's About is a dropdown with no page). The shell's required links are Research, Model, API and Donate; the footer already links About us. - On narrow screens the header now uses tighter gaps and 13px links (15px from sm up), with the link row able to scroll on its own, so it fits a 375px viewport (last link ends at 350px) instead of forcing sideways scrolling. - aria-label on the header nav, matching the footer's. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Pushed 5983ab5 on top of your commit (9902e22) to get this over the line. It unblocks policyengine-app-v2#1181, where the nightly zone-shell audit has failed daily on this route, and every app-v2 PR that touches An independent review flagged two blocking issues, both fixed:
The page still scrolls sideways on phones ( Verified locally: 🤖 Generated with Claude Code |
|
Merge audit: all checks pass on head 5983ab5 ( |
Unblocks policyengine-app-v2#1179, which registers this dashboard at
policyengine.org/uk/free-childcare-reformand currently failsapp-zone-shell-audit:A multizone rewrite proxies this app's own HTML through — it does not inject the parent site shell — so a child that does not render the header and footer itself is served under policyengine.org with no site nav at all.
bus-fare-capshipped exactly this in bus-fare-cap#9.dashboard/src/components/PolicyEngineHeader.jsx,PolicyEngineFooter.jsx— the components bus-fare-cap ships, with links pointing at the UK site. Both referencepublic/assets/logos/policyengine-white.svg, which this repo already had.dashboard/app/layout.jsx— wraps{children}. The header is static rather than sticky, so the analysis's own sticky.title-row(z-index: 100) keeps the top of the viewport while scrolling..github/workflows/pull_request.yaml— the existing site-shell step asserted only the title, on the premise that the page was "the analysis and nothing else: no site nav, no brand bar, no footer". That premise is what the audit rejects, so it now asserts the nav labels and footer links as well. A missing shell fails at PR time here rather than in app-v2's nightly production audit.Verified locally:
bun run buildpasses, all eleven needles in the CI shell step are present in the built HTML, and the rendered page shows the nav above the title row with no overlap.Not in scope: the
Two childcare reformswording in the metadata title and README reads as two separate policies rather than one two-part reform, and is worth a separate pass.