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

No one assigned

    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