Skip to content

Visual refresh and expanded ballot question support#2114

Open
LexaMichaelides wants to merge 23 commits intocodeforboston:mainfrom
hyphacoop:feat/ballot-questions-v2
Open

Visual refresh and expanded ballot question support#2114
LexaMichaelides wants to merge 23 commits intocodeforboston:mainfrom
hyphacoop:feat/ballot-questions-v2

Conversation

@LexaMichaelides
Copy link
Copy Markdown
Collaborator

This PR introduces some final polishing changes to the ballot questions feature and MAPLE's look and feel.

  • Expanded YAML fields for new information relating to ballot questions

  • Visual refresh of the full MAPLE site

  • Final documentation of ballot questions data model and update scripts


    Data Model Changes

    • Simplified status lifecycle to four states: expectedOnBallot,
      failedToAppear, rejected, accepted
    • Added alertFlag: string | null and alertTip: string | null for
      time-sensitive notices such as legal challenges
    • Added voter guidance fields: voteEffectYes, voteEffectNo, fiscalConsequences
    • Added campaign organizer fields: supportCommittee, opposeCommittee
    • Added fields for arguments provided by committees: inFavor, against
    • Added campaignFinancials — structured support/oppose arrays with cashRaised,
      spent, inKind
    • All new content fields default to null
    • Reviewed documentation for data model and scripts

Ballot Question YAML Structure

Each ballot question is a YAML file under ballotQuestions/{year}/. Changed fields are:

  status: expectedOnBallot | failedToAppear | rejected | accepted
  fullSummary: "..."           # Markdown supported                             
  voteEffectYes: "..."                                                        
  voteEffectNo: "..."                                                           
  fiscalConsequences: "..."                                                   
  supportCommittee: "..."                                                       
  opposeCommittee: "..."                                                      
  inFavor: "..."              # Campaign argument text
  against: "..."                                                                
  alertFlag: "..."            # Markdown links supported; null if no alert
  alertTip: "..."             # Tooltip text for the alert; null if none        
  campaignFinancials:                                                           
    support:                                                                    
      - cashRaised:                                                      
        spent:                                                           
        inKind:                          
    oppose:                                                                     
      - cashRaised:                                                   
        spent:                                                          
        inKind: 0                         

2024 and 2026 ballot questions are included with varying levels of
completeness; fields default to null when data is unavailable.


Visual / UI Changes

  • New ballot question detail page tab refresh:
    • Overview — summary, vote effects, fiscal consequences, and links to related
      bills
    • Perspectives — citizen testimony (follow/notify flow, same as bills)
    • For & Against — campaign arguments from support/oppose committees, with OCPF
      disclaimer
    • Campaign Financials — cash raised/spent/in-kind table with link to OCPF
      reports
  • Alert banner (BallotQuestionAlert) — renders alertFlag as Markdown in a
    prominent aside at the top of the detail header. Supports inline links and an
    optional tooltip via alertTip.
  • Homepage refresh — updated layout, icons, and navigation shell with improved
    accessibility landmarks and responsive navbar.
  • Design system — consolidated design tokens into CSS variables used
    consistently across ballot question and shared components.

LexaMichaelides and others added 16 commits May 4, 2026 11:47
Refine MAPLE visual system and shared surfaces
Skip stale-doc validation in ballot question sync
Fix ballot question search responsiveness for medium and mobile
…criptions

docs: add ballot question field reference
Homepage refresh and design polish
…n-test

Fix ballot question notification test statuses
@vercel
Copy link
Copy Markdown

vercel Bot commented May 4, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
maple-dev Ready Ready Preview, Comment May 4, 2026 8:36pm

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Development

Successfully merging this pull request may close these issues.

2 participants