-
Notifications
You must be signed in to change notification settings - Fork 25
Showcase orchestrator voting activity in the UI #457
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
ECWireless
merged 86 commits into
main
from
310-showcase-orchestrator-voting-activity-in-the-ui
Feb 4, 2026
Merged
Changes from 1 commit
Commits
Show all changes
86 commits
Select commit
Hold shift + click to select a range
779c340
feat: add OrchestratorVotingList component for displaying voting data
Jipperism 77689dd
feat: integrate Cube.js client and add VotingHistoryView component
Jipperism b2499a3
feat: enhance voting history functionality and UI
Jipperism 7a772b0
feat: enhance orchestrators page with voting history and summaries
Jipperism d4d97c0
feat: add Vector.png asset for UI enhancements
Jipperism ea087fc
Cherry pick PR https://github.com/livepeer/explorer/pull/300
Jipperism 3e5ac11
Merge branch 'main' into 310-showcase-orchestrator-voting-activity-in…
Jipperism 0a56114
fix: update Cube.js data fetching and response handling
Jipperism 91d8581
fix: standardize address and transaction hash formatting
Jipperism a443e2b
fix: orchestrators page early return
Jipperism 6e55877
feat: add governance participation stat card to orchestrator overview
thebeyondr 504f604
fix: add TypeScript error handling for string query in getAccountVote…
thebeyondr 278a93a
refactor: refresh the treasury voters list experience and unify termi…
thebeyondr 5c758d8
refactor: remove unused agent log and clean up VoteTable component
thebeyondr 2a4911d
refactor: update voting badge terminology and styling in Transactions…
thebeyondr debdee4
fix(votes): correct SWR key to resolve missing proposal titles
thebeyondr a9684e1
feat(ux): add focus trap, keyboard shortcuts, and ARIA support to modal
thebeyondr 4a2c314
feat(votes): add voting summary stats and ENS propagation to voter hi…
thebeyondr 08039eb
style(ui): refactor vote cards with timeline layout and high-contrast…
thebeyondr fc7293a
style(table): change overflow property from scroll to auto for better…
thebeyondr a0e5a1e
style: refine treasury voting widget UI and accessibility
thebeyondr 0e5e915
style: Reduce font weight from 600 to 500 for better visual hierarchy.
thebeyondr 4a84597
refactor(account): remove voting history tab and associated components
Jipperism d79f05b
feat(votes): add treasury and vote event queries with hooks
Jipperism a122748
feat(history): integrate treasury and vote events into HistoryView
Jipperism 507bda9
chore(voting): remove VotingHistoryView component
Jipperism c3d1e88
chore: remove OrchestratorVotingList component
Jipperism 28e7999
chore: remove voting_history component as votes have been integrated …
Jipperism fa784c5
chore: remove Cube.js client and related query generator
Jipperism 6df9ac9
feat(votes): enhance treasury vote handling and display
Jipperism 4738dcb
chore: remove outdated hooks
Jipperism 8d9206e
chore: remove outdated variables
Jipperism 53a340d
style(voting): standardize For/Against colors and labels
thebeyondr 46e8fbe
style(vote-table): update link and badge styles
thebeyondr efcd61b
style(voting): unify governance UI and implement accessibility signals
thebeyondr 0795ac5
chore(merge): Merge branch '310-showcase-orchestrator-voting-activity…
thebeyondr a6b317f
Merge branch 'main' into 310-showcase-orchestrator-voting-activity-in…
Jipperism 0502be8
refactor(votes): separate poll and treasury vote types
thebeyondr d55815a
refactor(votes): migrate components to use new vote type system
thebeyondr 75f4576
refactor(votes): standardize terminology from Yes/No to For/Against
thebeyondr 095c822
feat(votes): add vote icons and improve badge styling
thebeyondr 18ca7dd
feat(treasury): add TreasuryVoteEvent component to display voting det…
Jipperism d3272cd
refactor(votes): extract vote logic into custom hook and enhance load…
Jipperism 437236a
feat(votes): add formatWeight prop to VoteDetail and VotePopover comp…
Jipperism 443921f
refactor(history): standardize naming for treasury vote events and im…
Jipperism 246e5f9
style(voting): update text colors and border radius for voting indica…
thebeyondr 7910f40
Merge branch 'main' into 310-showcase-orchestrator-voting-activity-in…
Jipperism a011063
feat(treasury): improve vote navigation in TreasuryVotingWidget
thebeyondr 7eb8b56
feat(votes): add popover for long vote reasons
thebeyondr bac8449
feat(ui): refine treasury proposal UI and implement mobile reason exp…
thebeyondr 1114a71
style(treasury): unify tab button styles and fix active border layering
thebeyondr 590080f
style(layouts, treasury): add minHeight to flex containers for improv…
thebeyondr ea4de6f
fix: address PR #457 review comments
thebeyondr 1a704c4
style(HorizontalScrollContainer): hide vertical overflow for improved…
thebeyondr 7917ad4
fix: very minor styling tweaks
ECWireless 4ba06be
Merge branch 'main' into 310-showcase-orchestrator-voting-activity-in…
ECWireless ff57ed8
Merge branch 'main' into 310-showcase-orchestrator-voting-activity-in…
ECWireless 7d69dba
fix: address styling inconsistencies
ECWireless a5c9988
fix(votes): address PR comments on mobile UX for vote history modal
thebeyondr 913d3dd
feat: correct pagination and caching for VoteEvents and TreasuryVoteE…
Jipperism 62ca00c
chore: upgrade typescript version
Jipperism 1765609
feat: align VoteTable styling with TransactionsList
thebeyondr 399542e
refactor(votes): remove dotted underline from truncated reason text
thebeyondr b61e706
feat(history): replace transaction hash display with TransactionBadge…
thebeyondr 848652f
fix(votes): center transaction badge in table cell
thebeyondr ff411eb
fix(votes): add right padding to history icon cell for balanced spacing
thebeyondr b9f5a98
refactor(votes): improve mobile voting history modal styling and cont…
thebeyondr d588ab2
feat(votes): add transaction timestamp to VoteDetail
thebeyondr 1ba92b0
refactor(votes): improve VoteDetail layout and modal width
thebeyondr 28f5392
feat(votes): redesign vote cards to align with Livepeer design language
thebeyondr 756a0d0
ricks/origin/310 showcase orchestrator voting activity in the ui (#514)
rickstaa 0bce050
fix: use relative link paths in HistoryView
ECWireless 14eb3c9
fix: ensure enough vote events are queried
ECWireless bebeb6e
refactor: improve mobile spacing in voting/proposal cards
thebeyondr ecdc587
Merge branch 'main' into 310-showcase-orchestrator-voting-activity-in…
thebeyondr de6c9f6
Merge branch 'main' into 310-showcase-orchestrator-voting-activity-in…
ECWireless e0932c8
fix: remove unused queries and logs
Jipperism 89b6f1b
ricks/310 showcase orchestrator voting activity in the ui (#529)
rickstaa c4722bf
feat: rename VoteHistoryModal component for displaying voting history
Jipperism 0444555
refactor: split out treasury and poll voting components
Jipperism eb5704b
fix: remove debug query
rickstaa 7425ea8
Merge branch 'main' into 310-showcase-orchestrator-voting-activity-in…
ECWireless 38c7228
refactor: revert history linking behavoir and improve code (#531)
rickstaa e37cca2
refactor: align folder structure with existing conventions (#530)
rickstaa d1130f3
Merge branch 'main' into 310-showcase-orchestrator-voting-activity-in…
ECWireless f63ef97
chore: prettier formatting; co-author credit
ECWireless File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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.
- Loading branch information
commit 7eb8b5643d6072aa537437bc520b2f40a54ec9bb
There are no files selected for viewing
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,135 @@ | ||
| import { | ||
| Box, | ||
| HoverCardArrow, | ||
| HoverCardContent, | ||
| HoverCardRoot, | ||
| HoverCardTrigger, | ||
| styled, | ||
| Text, | ||
| } from "@livepeer/design-system"; | ||
| import { ChatBubbleIcon } from "@radix-ui/react-icons"; | ||
| import React from "react"; | ||
|
|
||
| const Content = styled(HoverCardContent, { | ||
| width: 320, | ||
| padding: "$3", | ||
| backgroundColor: "$neutral3", | ||
| border: "1px solid $neutral5", | ||
| borderRadius: "$3", | ||
| boxShadow: | ||
| "0px 10px 38px -10px rgba(22, 23, 24, 0.35), 0px 10px 20px -15px rgba(22, 23, 24, 0.2)", | ||
| zIndex: 100, | ||
| outline: "none", | ||
| animationDuration: "400ms", | ||
| animationTimingFunction: "cubic-bezier(0.16, 1, 0.3, 1)", | ||
| willChange: "transform, opacity", | ||
| }); | ||
|
|
||
| interface VoteReasonPopoverProps { | ||
| reason: string; | ||
| voterName?: string; | ||
| children?: React.ReactNode; | ||
| } | ||
|
|
||
| export function VoteReasonPopover({ | ||
| reason, | ||
| voterName, | ||
| children, | ||
| }: VoteReasonPopoverProps) { | ||
| if (!reason || reason.toLowerCase() === "no reason provided") { | ||
| return null; | ||
| } | ||
|
|
||
| return ( | ||
| <HoverCardRoot openDelay={200} closeDelay={300}> | ||
| <HoverCardTrigger asChild> | ||
| {children || ( | ||
| <Box | ||
| as="button" | ||
| css={{ | ||
| display: "inline-flex", | ||
| alignItems: "center", | ||
| gap: "$1", | ||
| padding: "2px 6px", | ||
| borderRadius: "4px", | ||
| backgroundColor: "$neutral3", | ||
| border: "1px solid $neutral5", | ||
| color: "$neutral11", | ||
| cursor: "pointer", | ||
| transition: "all 0.2s ease", | ||
| "&:hover": { | ||
| backgroundColor: "$neutral4", | ||
| color: "$hiContrast", | ||
| borderColor: "$neutral6", | ||
| }, | ||
| "&:focus-visible": { | ||
| outline: "2px solid $primary11", | ||
| outlineOffset: "2px", | ||
| }, | ||
| }} | ||
| > | ||
| <ChatBubbleIcon /> | ||
| <Text size="1" css={{ fontWeight: 500, color: "inherit" }}> | ||
| Reason | ||
| </Text> | ||
| </Box> | ||
| )} | ||
| </HoverCardTrigger> | ||
| <Content side="top" align="start" sideOffset={8}> | ||
| <Box | ||
| css={{ | ||
| marginBottom: "$2", | ||
| paddingBottom: "$1", | ||
| borderBottom: "1px solid $neutral5", | ||
| }} | ||
| > | ||
| <Text | ||
| size="1" | ||
| css={{ | ||
| fontWeight: 600, | ||
| color: "$neutral11", | ||
| textTransform: "uppercase", | ||
| letterSpacing: "0.05em", | ||
| }} | ||
| > | ||
| Vote Reason | ||
| </Text> | ||
| </Box> | ||
| <Text | ||
| size="2" | ||
| css={{ | ||
| color: "$hiContrast", | ||
| lineHeight: "1.6", | ||
| whiteSpace: "pre-wrap", | ||
| wordBreak: "break-word", | ||
| }} | ||
| > | ||
| {reason} | ||
| </Text> | ||
| {voterName && ( | ||
| <Box | ||
| css={{ | ||
| marginTop: "$3", | ||
| paddingTop: "$2", | ||
| borderTop: "1px solid $neutral5", | ||
| }} | ||
| > | ||
| <Text size="1" css={{ color: "$neutral11" }}> | ||
| Shared by{" "} | ||
| <Text as="span" css={{ fontWeight: 500, color: "$hiContrast" }}> | ||
| {voterName} | ||
| </Text> | ||
| </Text> | ||
| </Box> | ||
| )} | ||
| <Box css={{ color: "$neutral5" }}> | ||
| <HoverCardArrow | ||
| style={{ fill: "currentColor" }} | ||
| width={12} | ||
| height={6} | ||
| /> | ||
| </Box> | ||
| </Content> | ||
| </HoverCardRoot> | ||
| ); | ||
| } |
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.
Uh oh!
There was an error while loading. Please reload this page.