Commit e39f298
Add ballot questions to maple (#2090)
* Add a missing await in tests/integration/common
* Add a data model, security rules, and indexes for ballot questions.
* Add a script to ingest ballot questions from a directory of yaml files
Also adds an integration test
* Implement db methods to query ballot questions
* Separate testimony for ballot questions vs bills.
Also includes a clearer "ballotStatus" model as the ballot question
progresses along the process.
* Bring data model in line with figma
* update frontend doc
* Update ballot question docs for legislature testimony
* Clarify ballot question testimony behavior at legislature stage
* Add ballot question detail page frontend MVP
* Add browse ballot questions page
* Add bottom spacing to browse ballot questions page
* Match browse ballot questions width to detail page
* Use Bootstrap container widths for ballot question pages
* Use Bootstrap container widths in browse ballot questions
* Share ballot question types and stabilize testimony counts
* Share ballot question types and stabilize testimony counts
* Add ballotQuestionIds to publishTestimony
* Add a backfill script for missing ballotquestionids on testimony
* Validate ballotquestionid when publishing testimony
* Render ballot-question testimony correctly in profile lists
* Tighten ballot-question profile testimony copy
* Fix ballot-question publish flow routing
* Restore existing profile position copy
* Tighten ballot-question testimony scope checks
* Make useEditTestimony loading test less brittle
* Remove duplicate ballot-question testimony heading
* Move ballot question bill link to overview tab
* Polish ballot-question testimony panel layout
* Rename ballot question overview link
* Avoid autosaving empty ballot-question drafts
* Add a README for admin scripts & a test for package.json harness
* fix firebase selection in local environments
* 2026 ballot question yamls
* add yamls, enable newlines in summary for ballot questions
* add the old archivedTestimony back in for backcompat
* Add fieldOverrides to publishedTestimony ballotQuestionId index
* Fix: show commitee hearings in ballot question pages
* add descriptions and details to select ballots
* added legislature demo ballot question
* Link ballot question hearings to MAPLE pages
* Remove raw video fallback from ballot question hearing links
* Organize ballot questions directory by year
* add 2024 yamls
* file 2024 questions
* remove admin-generated data for 2026
* Split ballot-question testimony flow from bill flow
* Add coverage for ballot-question publish flow
* Keep recipient hook order stable
* Strengthen ballot-question share redirect test
* Clarify ballot-question share redirect cases
* Refine ballot question phase links
* Adjust ballot question testimony phase copy
* Add ballot question browse filters
* Redesign ballot question browse cards
* Refine ballot question detail page design
* Add shell accessibility landmarks
* Make ballot question tabs accessible
* Fix ballot question sync typecheck
* Simplify ballot question sync type fix
* Fix ballot question YAML summaries
* Run Prettier for ballot question branch
* Use repo Firebase CLI in integration tests
* fix missing import & returns
* polish ballot header
* unstick ballot nav
* polish overview icon
* clarify header metadata
* polish header actions
* tighten hearing card
* polish nav hover
* fix ballot nav lint
* Implement follow/notifications for ballot questions
* address browse review
* fix: make testimony notification flow use court data from testimony
prevents extra fetch of a ballot question
* refactor ballot tabs
* fix: resolve CI failures for ballot questions PR
* fix ballot question types
* format ballot question files
* Update summary header and add tooltip
* Replace testimony with perspective in ballot questions
* fix ballot question types
* Improve nav button styling and spacing
* format navbar components
* format ctas panel
* Simplify ballot question cards and update ballot lifecycle statuses
* Enhance committee hearing card with icon and updated copy
* format committee hearing
* Refine BQ UX: collapsible search, emphasize question numbers, compact cards
* Improve navbar accessibility and labels
* fix navbar dropdown focus
* fix repo checks
* fix collapsible filter accessibility
* Add title field to ballot questions and improve paragraph spacing in summary
* refine ballot browse controls
* align ballot status lifecycle copy
* skip notifications when history empty
* polish overview copy
* fix navbar sign-out semantics
* close mobile profile drawer on view profile
* preserve dropdown active state
* Fix invalid testimony locale quotes
* Remove leftover merge marker
* Restore client-side routing for navbar dropdown links
* Fix profile banner overflow and nav link contrast
* Lighten mobile navbar link contrast
* Unify mobile nav item and dropdown colors
* Constrain mobile navbar dropdown width
* Tighten desktop navbar spacing at medium widths
* Keep medium-width desktop nav links on one line
* Reduce desktop navbar logo at medium widths
* Reduce navbar logo at narrow medium widths
* Fix navbar formatting
* Fix ballot question formatting
* Fix ballot question YAML status compatibility
* 2026 BQ titles and statuses
* 2024 BQ titles, status, numbers
* doc changes for ballot statuses
* Align ballot question tab test copy
* Fix ballot question testimony follow behavior
* Polish ballot question browse and perspective flow
* typo
* Fix ballot question hearing icon image
* Capitalization nitpicks
* Polish ballot question perspective copy
* Apply prettier formatting
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix to use a translation string
* Restore bill testimony links in ballot question perspectives
* Restore ballot question stance wording
* types in yamls
* Finalize ballot question follow-up fixes
* Apply prettier formatting
* Trigger CI rerun
* Fix ballot question testimony fixture
* Remove dead collectionGroup fallback queries for BQ counts
Counts are now stored on BallotQuestion docs with defaults of 0,
so the hasStored/getStored helpers and live query fallbacks are
unreachable. Read counts directly from the doc.
* Guard count fields with ?? 0 for docs missing fields
* feat: gate ballot questions behind feature flag
---------
Co-authored-by: Lexa Michaelides <32111123+LexaMichaelides@users.noreply.github.com>
Co-authored-by: vincent <vincentcharlebois@gmail.com>
Co-authored-by: Lexa <lexamichaelides@gmail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>1 parent 6b70152 commit e39f298
153 files changed
Lines changed: 8343 additions & 690 deletions
File tree
- .github/workflows
- ballotQuestions
- 2024
- 2026
- components
- CommentModal
- EditProfilePage
- NewsfeedCard
- Newsfeed
- TestimonyCard
- auth
- ballotquestions
- bill
- db
- testimony
- moderation
- publish
- hooks
- panel
- testimony/TestimonyDetailPage
- docs
- functions/src
- ballotQuestions
- email
- partials/ballotQuestions
- notifications
- search
- subscriptions
- testimony
- pages
- ballotQuestions
- testimony
- public/locales/en
- scripts
- firebase-admin
- stories/emailTemplates
- styles
- tests
- fixtures/ballotQuestions
- integration
- system
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
70 | 77 | | |
71 | 78 | | |
72 | 79 | | |
73 | 80 | | |
74 | 81 | | |
75 | 82 | | |
76 | 83 | | |
| 84 | + | |
| 85 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
0 commit comments