Skip to content

feat: build the site shell and render its pages - #7

Merged
DutchyD merged 2 commits into
developmentfrom
feat/folio-api-client
Aug 11, 2026
Merged

feat: build the site shell and render its pages#7
DutchyD merged 2 commits into
developmentfrom
feat/folio-api-client

Conversation

@DutchyD

Copy link
Copy Markdown
Contributor

What

The site shell, and the pages rendered inside it.

Shell

Navigation, locale and theme selection, the project index and the project detail view. Locale is resolved server-side and carried on the response, so no locale prefix appears in the path.

Pages

Pages declared by the API drive the navigation. A splat route renders any of them from /v1/pages/{slug}; the page claiming home is served at the root.

Sections render in declaration order with an Astryx Divider between each pair — never before the first or after the last. A page with nothing to render shows an empty state.

Contract handling

Every response is validated against the published contract before it reaches a component. Section types are validated leniently: a type this client does not render is skipped, so the rest of the page — and the navigation around it — still renders. In development, a skipped section and any page slug a file route would shadow are reported to the console.

Requires the typed-sections and pages support in Folio, and the page declarations in DotFolio.

The shell carries the navigation, locale and theme selection, and the
project index and detail views. Pages declared by the API drive the
navigation, and a splat route renders any of them from
`/v1/pages/{slug}`, with the home page served at the root.
Sections render in declaration order with a divider between each pair.
The response is validated against the published contract, and a section
type this client does not render is skipped so the rest of the page
still renders.
A hero renders its headline, subheadline, calls to action and portrait.
The measured dimensions drive an aspect-ratio box, so the image reserves
its space before it loads. Actions render as links, routing when the API
gives a path and opening a new tab when it gives a URL.
The site title and tagline no longer open the home page; they carry the
document title and meta description, and the hero carries the claim.
@DutchyD
DutchyD merged commit 41aac14 into developmentAug 11, 2026
1 check passed
@DutchyD
DutchyD deleted the feat/folio-api-client branch August 11, 2026 09:53
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@DutchyD