Skip to content

Badges

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

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

Rewards the learner earns (gamified courses).

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

{
"component": "Badges",
"props": {
"eyebrow": "Recognition",
"title": "What you earn",
"items": [
{
"name": "Certificate",
"text": "A signed PDF.",
"icon": "medal"
},
{
"name": "Skill badge",
"text": "Shareable and verifiable.",
"icon": "star"
}
]
}
}
Prop Type Required Notes
eyebrow string Small label above the title. max length 80
title string Section title. max length 160
intro string One or two sentences under the title. max length 600
items array of objects yes Badges. max 8 items
items[].name string yes Badge. max length 60
items[].text string How to earn it. max length 160
items[].icon "check" | "arrow" | "play" | "clock" | "calendar" | "pin" | "users" | "mail" | "shield" | "star" | "moon" | "planet" | "telescope" | "rocket" | "medal" | "book" | "terminal" | "compass" | "sigma" | "pager" | "chart" | "print" | "lock" | "sync" | "quote" | "layers" | "server" | "puzzle" | "cart" | "code" | "sparkle" | "eye" | "chat" Icon from the catalogue’s icon set
id string Anchor id for in-page links (letters, digits, dashes). max length 40

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

What you earn
Certificate
Skill badge

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).

{
"items": 7
}

Issues:

  • /items expected array, got integer

Rendered as:

Nothing: this component has no text of its own.

axe-core: 20 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.