Skip to content

[WV-4242] Candidate scrolling rework: 4-column layout with opinions, dynamic widths#4766

Merged
DaleMcGrew merged 2 commits intowevote:developfrom
ric0de:WV-4242CandidateScrollingRework
Apr 8, 2026
Merged

[WV-4242] Candidate scrolling rework: 4-column layout with opinions, dynamic widths#4766
DaleMcGrew merged 2 commits intowevote:developfrom
ric0de:WV-4242CandidateScrollingRework

Conversation

@ric0de
Copy link
Copy Markdown
Contributor

@ric0de ric0de commented Apr 7, 2026

  • Reworked BallotScrollingContainer from vertical to horizontal 4-column layout
    (issues, support, oppose, opinions) matching measure pattern
  • Created CandidateOpinionsColumn with VoterPositionEntryAndDisplay + PositionList
    in compact mode, mirroring MeasureOpinionsColumn
  • Dynamic column widths: issues fixed at 240px, opinions at 327px, support/oppose
    split remaining space. Columns conditionally rendered based on position data
  • Candidate name + photo + heart toggle in top row above scrollable columns
  • ItemActionBar below scrollable area at full width
  • CSS-only hover on CandidateCardWrapper (transparent inner container)
  • Measure layout: hover now covers action bar, removed white border, URL word-break
  • IssuesByBallotItemDisplayList: "show more" renamed to "See more" with blue link style
  • PositionList: compact mode removes left/right margins, See more aligned at 57px
  • ItemActionBar dividers: align-self stretch instead of fixed 32px height
  • MeasureInfoModal: long URLs wrap with word-break
  • MeasureItemCompressed: "more" link always visible, on new line if not truncated

ric0de added 2 commits April 6, 2026 17:31
…fied modal, cleaner layout

- Replaced MeasureDescriptionModal and MeasureYesNoModal with unified MeasureInfoModal
- Added compact mode to PositionForBallotItem and PositionList for inline opinion previews on measure cards
- MeasureOpinionsColumn now shows support/oppose endorsement summaries with compact position list
- VoterPositionEntryAndDisplay refactored to support both measure and politician contexts
- ItemActionBar updated for measure-specific vote yes/no actions
- Only show "more" link on measure text when actually truncated
- ModalDisplayTemplateA2 minor layout adjustments
- BallotDecisionsTabs updated for measure filtering
- Ballot.jsx minor cleanup
…dynamic widths

- Reworked BallotScrollingContainer from vertical to horizontal 4-column layout
  (issues, support, oppose, opinions) matching measure pattern
- Created CandidateOpinionsColumn with VoterPositionEntryAndDisplay + PositionList
  in compact mode, mirroring MeasureOpinionsColumn
- Dynamic column widths: issues fixed at 240px, opinions at 327px, support/oppose
  split remaining space. Columns conditionally rendered based on position data
- Candidate name + photo + heart toggle in top row above scrollable columns
- ItemActionBar below scrollable area at full width
- CSS-only hover on CandidateCardWrapper (transparent inner container)
- Measure layout: hover now covers action bar, removed white border, URL word-break
- IssuesByBallotItemDisplayList: "show more" renamed to "See more" with blue link style
- PositionList: compact mode removes left/right margins, See more aligned at 57px
- ItemActionBar dividers: align-self stretch instead of fixed 32px height
- MeasureInfoModal: long URLs wrap with word-break
- MeasureItemCompressed: "more" link always visible, on new line if not truncated
@DaleMcGrew
Copy link
Copy Markdown
Member

👍

@DaleMcGrew DaleMcGrew merged commit 7262648 into wevote:develop Apr 8, 2026
1 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants