Skip to content

SiteFooter

Generated from front/ui/catalogue/examples/SiteFooter.json

structure · static (no JavaScript) · no children. All components: component playground.

Page footer with brand, a sentence, links and small print.

Rendered from the example props below with the real component. Theme: coffee · oncall · nightsky · gravity · poland · ulam · platform · open on its own

{
"component": "SiteFooter",
"props": {
"brand": "Coffee Atlas",
"text": "Courses for people who love coffee.",
"links": [
{
"label": "Privacy",
"href": "/privacy"
},
{
"label": "Terms",
"href": "/terms"
}
],
"note": "(c) 2026 Coffee Atlas"
}
}
Prop Type Required Notes
brand string yes Brand name. max length 60
text string Sentence under the brand. max length 300
links array of objects Links. max 10 items
links[].label string yes Visible text. max length 80
links[].href string (href) yes Target URL. max length 2048
note string Small print. max length 200

What a text-only client, an unknown renderer or a plain-text channel shows for the example above.

Coffee Atlas

A node whose props fail the schema never breaks the page: the renderer shows the plain-text fallback instead (and logs the issues in development).

{
"links": "many"
}

Issues:

  • /brand is required
  • /links expected array, got string

Rendered as:

Nothing: this component has no text of its own.

axe-core: 18 rules passed, 0 violations, 0 need manual review. Run at build time on the server-rendered HTML in jsdom. Colour contrast and layout rules need a browser and are covered by the Playwright axe scans of the reference frontend.