ricks/origin/310 showcase orchestrator voting activity in the ui#514
Merged
ECWireless merged 2 commits into310-showcase-orchestrator-voting-activity-in-the-uifrom Jan 29, 2026
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Ensure the hover behaviour is in the voting item is consistent with the hover behavoir used in the rest of the explorer.
Reuse the existing arrow-only pagination from DataTable in the mobile voting table to ensure consistent behavior and styling.
e650269 to
c6e2ace
Compare
18 tasks
ECWireless
approved these changes
Jan 29, 2026
756a0d0
into
310-showcase-orchestrator-voting-activity-in-the-ui
3 checks passed
ECWireless
added a commit
that referenced
this pull request
Feb 4, 2026
* feat: add OrchestratorVotingList component for displaying voting data - Introduced a new component to present a list of orchestrators with their voting statistics, including proposals voted on, votes casted, recent votes, and voting turnout. * feat: integrate Cube.js client and add VotingHistoryView component - Added Cube.js client for data fetching with new utility functions for querying voting history. - Introduced VotingHistoryView component to display voting statistics, including proposals voted on and voting turnout. - Updated package.json and pnpm-lock.yaml to include Cube.js client dependencies. * feat: enhance voting history functionality and UI - Exported VoterSummary type for better type management in voting components. - Integrated VotingHistoryView into the account layout for displaying voting statistics. - Added new VotingHistory page to handle routing and data fetching for user voting history. - Updated account layout to include a new tab for voting history, improving user navigation. - Implemented utility functions for processing and summarizing voting data from Cube.js. * feat: enhance orchestrators page with voting history and summaries - Added OrchestratorVotingList component to display voting data for orchestrators. - Implemented tabbed interface for Yield Overview and Voting History sections. - Integrated voter summary processing functions to aggregate voting data. - Updated getStaticProps to fetch and pass initial voter data to the page. * feat: add Vector.png asset for UI enhancements * Cherry pick PR #300 - Adds treasury proposals voting overview * fix: update Cube.js data fetching and response handling - Changed the method of accessing raw data from Cube.js API to use a function call. - Simplified response validation in getStaticProps by removing unnecessary checks and directly using the response for voter summaries. * fix: standardize address and transaction hash formatting * fix: orchestrators page early return * feat: add governance participation stat card to orchestrator overview - Fetches voting metrics (voted/eligible) from Cube.js using LivepeerVoteProposals - Adds an interactive Stat card to OrchestratingView with a visual progress bar - Displays participation rate percentage and integrated link to account history - Adds utility to the Cube query generator * fix: add TypeScript error handling for string query in getAccountVoterSummary * refactor: refresh the treasury voters list experience and unify terminology - Moved to a friendlier "Sky & Tomato" color scheme to keep voting separate from our main green brand accent. - Standardized labels to "For / Against / Abstain" everywhere, including the global transaction feed. - Rebuilt the vote table using our core data table component for a consistent look. - Made it easier to explore voter history with new dedicated buttons, better tooltips, and subtle animations. - Cleaned up the layout by stripping out redundant titles and shrinking fonts where they were getting too loud. - Polished the details: added specific styling for "No reason provided" and refined how voter profiles are we showing voter names and txn links. * refactor: remove unused agent log and clean up VoteTable component - Eliminated the agent log useEffect that was posting debug information. - Streamlined imports by removing unnecessary useEffect import. * refactor: update voting badge terminology and styling in TransactionsList - Changed badge colors to use a "Sky & Tomato" color scheme for better visual distinction. - Updated badge labels from "Yes/No" to "For/Against" to standardize terminology across the application. * fix(votes): correct SWR key to resolve missing proposal titles * feat(ux): add focus trap, keyboard shortcuts, and ARIA support to modal * feat(votes): add voting summary stats and ENS propagation to voter history modal * style(ui): refactor vote cards with timeline layout and high-contrast focus states * style(table): change overflow property from scroll to auto for better horizontal scrolling * style: refine treasury voting widget UI and accessibility - Enhance typography hierarchy and spacing in the 'Your vote' section. - Implement translucent button styles with high-contrast labels and subtle borders. - Improve progress bar visibility and color contrast for better scannability. - Adjust voting reason input for improved visual balance and focus states. Fixes #464 * style: Reduce font weight from 600 to 500 for better visual hierarchy. * refactor(account): remove voting history tab and associated components - Eliminated the 'Voting History' tab from the account layout. - Removed related imports and conditional rendering for improved code clarity. * feat(votes): add treasury and vote event queries with hooks - Introduced GraphQL queries for fetching treasury vote events and vote events. - Implemented corresponding React hooks for easy integration in components. - Enhanced the data structure to include relevant fields such as proposal details and voter information. * feat(history): integrate treasury and vote events into HistoryView - Added functionality to fetch and display treasury vote events and vote events in the HistoryView component. - Enhanced data handling with hooks to manage and extend event data, including proposal details and attributes. - Updated rendering logic to accommodate new event types and improve user experience with detailed information on votes. * chore(voting): remove VotingHistoryView component * chore: remove OrchestratorVotingList component * chore: remove voting_history component as votes have been integrated into the history table * chore: remove Cube.js client and related query generator - Deleted the Cube.js client and associated query generator as their functionality has been replaced by direct GraphQL queries. - Updated components to utilize new treasury proposal and vote queries, enhancing data fetching and management. - Refactored the OrchestratingView component to integrate treasury votes and proposals directly through Apollo hooks. * feat(votes): enhance treasury vote handling and display - Updated the TreasuryVotesQuery to include the voter ID for better data management. - Integrated ENS name fetching for voters in the VoteTable component, improving user experience. - Refactored vote rendering logic in DesktopVoteTable and MobileVoteTable to utilize the new voting support mapping. - Enhanced error handling in VoteTable to display error messages more clearly. - Improved overall data structure and state management for votes and events. * chore: remove outdated hooks * chore: remove outdated variables * style(voting): standardize For/Against colors and labels - Switch to Grass/Tomato palette for voting actions - Standardize labels to For and Against across widgets * style(vote-table): update link and badge styles - Updated voter link styles to improve visibility and interaction feedback. - Replaced text elements with badges for voting support indicators, enhancing visual consistency. - Adjusted hover effects and focus outlines for better accessibility. - Modified mobile and desktop vote views to reflect these style changes. * style(voting): unify governance UI and implement accessibility signals - Unify LIP and Treasury widgets on a shared layout with semantic progress tracks - Implement redundant icon signaling (Check/Cross/Minus) for colorblind accessibility - Fix latest vote event detection and reason extraction logic in VoteTable - Refine table interactions (voter/txn link hovers) and Support badge alignment - Standardize reason column width and implement em-dash (—) empty states * refactor(votes): separate poll and treasury vote types Create POLL_VOTES and TREASURY_VOTES constants to replace monolithic VOTING_SUPPORT. Maintain backward compatibility with legacy VOTING_SUPPORT export. * refactor(votes): migrate components to use new vote type system Update HistoryView and VotePopover to use POLL_VOTES and TREASURY_VOTES instead of VOTING_SUPPORT. * refactor(votes): standardize terminology from Yes/No to For/Against Update vote display labels across components to use consistent "For/Against" terminology instead of "Yes/No". * feat(votes): add vote icons and improve badge styling Add icons to vote badges and labels throughout the UI. Improve transaction hash link hover states with grass-themed colors. Enhance badge visual consistency with inline-flex layout and proper spacing. * feat(treasury): add TreasuryVoteEvent component to display voting details Implement a new TreasuryVoteEvent component to fetch and display information about treasury vote events, including voting support and proposal titles. Update TransactionsList to render this component for relevant events. * refactor(votes): extract vote logic into custom hook and enhance loading state management Refactor the VoteTable component by extracting the vote fetching logic into a custom hook, `useVotes`, to improve code organization and reusability. Enhance loading state management for votes and treasury vote events, ensuring a smoother user experience during data fetching. * feat(votes): add formatWeight prop to VoteDetail and VotePopover components Enhance VoteDetail and VotePopover components by introducing a formatWeight prop for consistent weight formatting across the voting UI. This change improves the flexibility of weight display and maintains a unified presentation of voting data. * refactor(history): standardize naming for treasury vote events and improve title trimming Update variable names for treasury vote events for consistency and clarity. Enhance the rendering of event titles by trimming whitespace to improve presentation in the UI. * style(voting): update text colors and border radius for voting indicators Change text colors for For and Against labels to match their respective vote indicators. Update border radius for progress bars in the TreasuryVotingWidget and VotingWidget components to create a more modern, rounded appearance. * feat(treasury): improve vote navigation in TreasuryVotingWidget - Allow passing `votesTabHref` to TreasuryVotingWidget for better linking to the votes tab. - Show "View votes" as a proper link when the href is provided, falling back to the anchor hash. - Add horizontal scrolling for tabs on the proposal page. - Clean up tab logic to show active states and vote counts more clearly. - Polish layout and accessibility for proposal details. * feat(votes): add popover for long vote reasons Show vote reasons in a popover when they're longer than 50 chars. Replace Tooltip with ExplorerTooltip in vote tables for consistency. * feat(ui): refine treasury proposal UI and implement mobile reason expansion - Update notification badge style to match navigation - Fix tab border alignment and stacking context - Remove redundant outer container from votes view - Add click-to-expand functionality for vote reasons on mobile * style(treasury): unify tab button styles and fix active border layering * style(layouts, treasury): add minHeight to flex containers for improved alignment * fix: address PR #457 review comments - Remove unused Vector.png - Deduplicate formatPercent and getVotingPower utils - Restore Table minWidth regression - Fix mobile detection and UI issues in Treasury Proposal page - Standardize imports in Voting components - Remove unnecessary 'use client' directives - Fix For/Against vote logic in TransactionsList - Improve poll vote fallback in HistoryView - Use relative URLs in VoteDetail * style(HorizontalScrollContainer): hide vertical overflow for improved layout * fix: very minor styling tweaks * fix: address styling inconsistencies * fix(votes): address PR comments on mobile UX for vote history modal - Increase vote modal width and padding on mobile screens - Move 'Total' count to header row on mobile to separate from breakdown badges - Add gap between vote items and borders to vote cards - Optimize timeline spacing and dot size for mobile context - Increase close button touch target to 44px on mobile * feat: correct pagination and caching for VoteEvents and TreasuryVoteEvents in history view * chore: upgrade typescript version * feat: align VoteTable styling with TransactionsList Extract EthAddressBadge and TransactionBadge as shared components and update VoteTable to use them, matching TransactionsList styling for voter addresses and transaction links. * refactor(votes): remove dotted underline from truncated reason text * feat(history): replace transaction hash display with TransactionBadge component in HistoryView * fix(votes): center transaction badge in table cell * fix(votes): add right padding to history icon cell for balanced spacing * refactor(votes): improve mobile voting history modal styling and contrast - Add mobile card layout matching MobileVoteView, use TransactionBadge component - Hide timeline on mobile, improve contrast with $loContrast modal background - Maintain desktop timeline layout * feat(votes): add transaction timestamp to VoteDetail - Display formatted timestamp (MM/DD/YYYY h:mm a) below proposal ID - Show on both mobile and desktop layouts * refactor(votes): improve VoteDetail layout and modal width - Move transaction timestamp to bottom row grouped with transaction badge - Narrow VoteModal desktop width from 50% to 40% with 600px max-width - Improve reason text readability with shorter line lengths - Better visual hierarchy by grouping transaction metadata together * feat(votes): redesign vote cards to align with Livepeer design language - Redesign VoteDetail and MobileVoteView cards with improved visual hierarchy - Make vote badge the hero element (top-left, larger size with icon) - Remove redundant visual signals (left border, truncated proposal ID) - Implement collapsible reason display (collapsed by default) for cleaner layout - Simplify footer to single-line transaction badge and timestamp - Add transaction timestamp to VoteItem for better context - Refactor spacing and layout for consistency across mobile and desktop views - Align card styling with Livepeer design system patterns * ricks/origin/310 showcase orchestrator voting activity in the ui (#514) * refactor: improve mobile vote item hover behaviour Ensure the hover behaviour is in the voting item is consistent with the hover behavoir used in the rest of the explorer. * refactor: reuse DataTable pagination for mobile vote tabke Reuse the existing arrow-only pagination from DataTable in the mobile voting table to ensure consistent behavior and styling. * fix: use relative link paths in HistoryView * fix: ensure enough vote events are queried * refactor: improve mobile spacing in voting/proposal cards - Add gap between badge and title on mobile - Align badge left edge with title text * fix: remove unused queries and logs * ricks/310 showcase orchestrator voting activity in the ui (#529) * refactor: simplify transactionlist treasury parsing Updates the events query so that we can use it directly for parsing the treasury voting events. * chore: fix history view type errors Ensure types in the history view correctly account for the new proposal event. * feat: rename VoteHistoryModal component for displaying voting history - Introduced a new VoteHistoryModal component to enhance user experience by allowing users to view their voting history in a modal format. - Updated VotePopover to utilize the new VoteHistoryModal instead of the previous VoteModal. * refactor: split out treasury and poll voting components * fix: remove debug query Remove debug query which was accidentally added in #529. * refactor: revert history linking behavoir and improve code (#531) Ensures that the linking behavoir for the other events is similar to the voting behavoir. Also create an extra ipfs helper so code is cleaner. * refactor: align folder structure with existing conventions (#530) * refactor: align folder structure with existing conventions Reorganized the treasury/poll directory so related components are grouped closer together and following the folder patterns already used in the codebase. * chore: fix incorrect import * chore: prettier formatting; co-author credit Co-authored-by: Rick Staa <rick.staa@outlook.com> Co-authored-by: thebeyondr <19380973+thebeyondr@users.noreply.github.com> Co-authored-by: jipstavenuiter <jipstavenuiter@gmail.com> Co-authored-by: liamdoyle95 <liamdoyle95@users.noreply.github.com> Co-authored-by: pyor-shrey <pyor-shrey@users.noreply.github.com> Co-authored-by: Roaring30s <roaring30s@users.noreply.github.com> --------- Co-authored-by: thebeyondr <19380973+thebeyondr@users.noreply.github.com> Co-authored-by: ECWireless <elliott@coopallc.com> Co-authored-by: ECWireless <40322776+ECWireless@users.noreply.github.com> Co-authored-by: Rick Staa <rick.staa@outlook.com> Co-authored-by: liamdoyle95 <liamdoyle95@users.noreply.github.com> Co-authored-by: pyor-shrey <pyor-shrey@users.noreply.github.com> Co-authored-by: Roaring30s <roaring30s@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Update mobile voting table styling to make it more consistent with rest of the explorer.