Background
The CMS will expose Card blocks (see feat(cms) schema issue #151). The web app needs a Card component that renders card content (image, title, description, optional link) for use in grids or lists.
Expected outcome
- A Card component in
apps/web that consumes Card block data (title, description, optional media, link, variant) and renders a card with correct semantics and styling.
Acceptance criteria
Possible solution(s)
- Add
apps/web/src/components/shared/Card.tsx or sections/Card.tsx; map schema fields to props; use shared typography and media components.
- Reuse existing card or tile primitive if present; keep one source of truth for card layout and styling.
References
Background
The CMS will expose Card blocks (see feat(cms) schema issue #151). The web app needs a Card component that renders card content (image, title, description, optional link) for use in grids or lists.
Expected outcome
apps/webthat consumes Card block data (title, description, optional media, link, variant) and renders a card with correct semantics and styling.Acceptance criteria
Possible solution(s)
apps/web/src/components/shared/Card.tsxorsections/Card.tsx; map schema fields to props; use shared typography and media components.References
Resolves/Implements schema: feat(cms): add schema for Card component #151 (feat(cms): add schema for Card component)
apps/webcomponent structureParent: epic(web): Web section components for Experience-driven Easter watch page #176 Epic B (Web)
Related (CMS schema): feat(cms): add schema for Card component #151