You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The public site must render each jurisdiction's DB-driven translations and structured content, keep
its static/SEO serving profile, and reflect admin edits promptly. Overridable pages move to ISR
rather than SSR.
Technical Context
TDD: §5.2, §5.3, §5.6, §8.
Fetch per-site overrides into the polyglot at generation; keep overridable pages on getStaticProps with a short revalidate (ISR). Add an on-demand revalidation API route
(res.revalidate) triggered on admin save, paired with a CDN path purge (or short s-maxage).
Wire structured-content rendering (replace the null-returning jurisdiction_*.tsx stubs).
Confirm tIfExists compatibility: it resolves against the same polyglot, and the three-state
semantics hold (no override / value / empty-to-hide).
Overridable public pages render as ISR with content read at generation; SSR HTML carries
translated strings with no flash of raw keys.
An admin save triggers res.revalidate() for the affected routes plus a CDN purge (or short s-maxage), and the change appears within seconds.
Footer/FAQ/resources render from DB content matching the current static output (parity).
tIfExists hides a section for an absent key or an empty override value; a base section can be
hidden with an empty override and shown by reverting.
QA Notes
Public site. Verify pages are statically served (ISR), an admin content edit appears within seconds
after revalidation + CDN purge, and a tIfExists-driven section shows/hides correctly for
value/empty/absent. Include a rendering-parity check against current static content.
Background / Issue
The public site must render each jurisdiction's DB-driven translations and structured content, keep
its static/SEO serving profile, and reflect admin edits promptly. Overridable pages move to ISR
rather than SSR.
Technical Context
getStaticPropswith a shortrevalidate(ISR). Add an on-demand revalidation API route(
res.revalidate) triggered on admin save, paired with a CDN path purge (or shorts-maxage).jurisdiction_*.tsxstubs).tIfExistscompatibility: it resolves against the same polyglot, and the three-statesemantics hold (no override / value / empty-to-hide).
Acceptance Criteria
translated strings with no flash of raw keys.
res.revalidate()for the affected routes plus a CDN purge (or shorts-maxage), and the change appears within seconds.tIfExistshides a section for an absent key or an empty override value; a base section can behidden with an empty override and shown by reverting.
QA Notes
Public site. Verify pages are statically served (ISR), an admin content edit appears within seconds
after revalidation + CDN purge, and a
tIfExists-driven section shows/hides correctly forvalue/empty/absent. Include a rendering-parity check against current static content.