Skip to content

Static Content Pages (Rules, Disclosure, Powers, Bill Process, Elections, How to Apply, Budget Process) #49

@calebyhan

Description

@calebyhan

Motivation

Seven pages share the same pattern: fetch content from the StaticPageContent API and render it. Building them all at once avoids repetition and creates a reusable pattern.

Deliverables

  • Create a reusable StaticPage component (src/components/StaticPage.tsx) that accepts a slug prop, fetches content from getStaticPage(slug), and renders the title and body
  • Wire these pages to use the component:
    • /legislation/rules → slug: "senate-rules"
    • /legislation/disclosure → slug: "public-disclosure"
    • /about/powers → slug: "powers-of-senate"
    • /about/bill-process → slug: "how-a-bill-becomes-law"
    • /elections → slug: "elections"
    • /funding/apply → slug: "how-to-apply"
    • /funding/budget-process → slug: "budget-process"
  • Handle loading and error states
  • Render body as HTML (use dangerouslySetInnerHTML with a note to add sanitization later)

Important Notes

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions