Skip to content

feat: persistent vote details panel with inline voting#438

Open
pumpedlunch wants to merge 3 commits intomasterfrom
feat/persistent-details-tab
Open

feat: persistent vote details panel with inline voting#438
pumpedlunch wants to merge 3 commits intomasterfrom
feat/persistent-details-tab

Conversation

@pumpedlunch
Copy link
Copy Markdown
Collaborator

Summary

  • Persistent panel — vote details panel stays open when clicking other rows; panel content updates in place instead of toggling closed/open
  • Inline vote controls — horizontal row of option buttons (up to 4) + pencil/custom-value input appears between the black header and tabs during active commit phase
  • Navigation chevrons — left/right chevron buttons in the panel header let users step through all votes in table order without closing the panel
  • Removed integration logo — TitleIcon (UMA/Polymarket/Across/OSnap logos) removed from the black header to keep it clean
  • Active row indicator — the currently open vote row gets a ring-1 ring-black ring-inset highlight in the vote table
  • Close button repositioned — X moved to top-right corner (12px offset) so it sits above the vertically-centered chevrons without overlap

Key changes

  • contexts/PanelContext.tsx — extended with votes[], currentIndex, nextVote/prevVote, selectVote/clearVote, selectedVote, phase, activityStatus; uses useRef for factory callbacks to avoid stale closures
  • components/Panel/PanelTitle.tsx — added chevron navigation, removed TitleIcon; uses left-chevron.svg (flipped for right arrow)
  • components/Panel/VotePanel/VoteButtonRow.tsx — new component; renders vote option buttons and custom pencil input
  • components/Panel/VotePanel/VotePanel.tsx — added VoteButtonRow, tab/scroll reset on vote change
  • components/Panel/Panel.tsx — scroll-to-top on vote change; close button repositioned
  • components/Votes/ActiveVotes.tsx — passes votes, currentIndex, and callback factories to openPanel; tracks active panel row
  • components/VoteList/VoteTableRow.tsxisActiveInPanel ring indicator

Test plan

  • Open vote details panel — panel stays open when clicking a different row
  • Arrow navigation steps through votes in table order; disables at first/last
  • Option buttons (P1/P2/P3/P4) and pencil input appear for active commit-phase votes
  • Custom value input confirms/cancels correctly
  • Active row in table shows ring highlight
  • X button and right chevron no longer overlap
  • Panel scrolls to top on vote change

Compound Engineered 🤖 Generated with Claude Code

pumpedlunch and others added 2 commits February 20, 2026 15:10
- PanelContext extended with votes array, currentIndex, arrow navigation
  (nextVote/prevVote), and vote selection callbacks (selectVote/clearVote,
  selectedVote, phase, activityStatus) injected via openPanel options
- Fixed previousPanelData stack unbounded growth: vote panels now replace
  the stack with a single entry instead of pushing
- PanelTitle: removed integration logo (TitleIcon), added left/right arrow
  buttons that navigate between votes; disabled at list boundaries
- VoteButtonRow: new component rendered between PanelTitle and tabs;
  shows option buttons (P1/P2/P3/P4 with hover tooltip for Polymarket) plus
  pencil for custom inline input; hidden during reveal phase, for non-active
  votes, and for MULTIPLE_VALUES identifier votes
- ActiveVotes: passes votes array, index, callback factory, and
  getSelectedVote to openPanel; computes isActiveInPanel per row
- VoteTableRow: ring-1 ring-inset indicator on the row currently shown
  in the panel
- Panel/VotePanel: scroll-to-top and tab reset on vote change

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
…in vote panel header

- Replace ← → text characters with left-chevron.svg icon (flipped for right arrow)
- Move close button to top-right corner (top/right: 12px) so it sits above
  the vertically-centered navigation chevrons without visual conflicts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel bot commented Feb 20, 2026

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

Project Deployment Actions Updated (UTC)
sepolia-voter-dapp-v2 Ready Ready Preview, Comment Feb 20, 2026 11:44pm
voter-dapp-v2 Ready Ready Preview, Comment Feb 20, 2026 11:44pm

Request Review

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@pumpedlunch
Copy link
Copy Markdown
Collaborator Author

Don't merge. PR is a work in progress.

@gsteenkamp89
Copy link
Copy Markdown
Contributor

Don't merge. PR is a work in progress.

Alright Let's mark it as a draft for now.

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