Skip to content

feat(gateways): add gateway stats widgets and new gateway pages#410

Open
rickstaa wants to merge 49 commits intomainfrom
feat/add-gateway-dashboard
Open

feat(gateways): add gateway stats widgets and new gateway pages#410
rickstaa wants to merge 49 commits intomainfrom
feat/add-gateway-dashboard

Conversation

@rickstaa
Copy link
Member

@rickstaa rickstaa commented Nov 22, 2025

This pull request introduces new gateway widgets and pages to display stats for active gateways that have distributed fees in the last 90 days. Adds a gateways widget to the main page, a dedicated gateway tab, and a gateway account page for detailed gateway stats and activity.

Warning

Needs upstream pull request livepeer/subgraph#168 to be merged and deployed for this to work!
Please remove the patch in codegen.yaml before merging.=!

@rickstaa rickstaa requested a review from ECWireless as a code owner November 22, 2025 12:19
@vercel
Copy link
Contributor

vercel bot commented Nov 22, 2025

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

Project Deployment Actions Updated (UTC)
explorer-arbitrum-one Ready Ready Preview, Comment Mar 24, 2026 3:51pm

Request Review

Introduce new gateway widgets and pages to display stats for active
gateways that have distributed fees in the last 90 days. Adds a gateways widget to
the main page, a dedicated gateway tab, and a gateway account page for detailed
gateway stats and activity.
Ensure that paid tickets also show up on the GatewayHistory.
Ensure the orchestrators button has the right background when the
`/orchestrators` page is selected and the user is logged out.
@rickstaa rickstaa force-pushed the feat/add-gateway-dashboard branch from 3a6d1a3 to 3adb176 Compare December 28, 2025 10:31
Ensure that the gateways tab is highlighted when on a gateway profile
and the orchestrator tab when on a orchestrator profile.
Ensure we include gateways that were activated in the last year or did
send tickets in the last 90D. Also improve the UI to make this behavoir
more visible.
Ensure gateway tab is shown before the delegator tab if an entity is
both a orchestrator and gateway.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
rickstaa and others added 2 commits March 17, 2026 13:17
…ation TODO

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ccounts

- Restore /accounts match for Orchestrators nav highlight, excluding
  /broadcasting which highlights Gateways instead
- Always hide chain selector label (icon-only) to prevent nav overflow
- Add gateway check to 404 logic in delegating, history, and orchestrating
  pages so gateway-only accounts don't return 404

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace <A> (anchor) with <Badge as="span"> using onClick/window.open
to avoid invalid HTML when TransactionBadge is rendered inside a
parent anchor in HistoryView.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Show only the wallet avatar icon between bp3 (1200px) and bp4 (1800px)
to prevent nav overflow when logged in. Hide chain status since it's
already shown separately via ContractAddressesPopover.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@rickstaa
Copy link
Member Author

@ECWireless the subgraph has been udpated and this pull request rebased we can merge this now after your review.

@rickstaa rickstaa marked this pull request as ready for review March 17, 2026 13:55
Copy link
Contributor

@vercel vercel bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Additional Suggestions:

  1. PageProps type requires account, sortedOrchestrators, and fallback fields, but the catch block only returns {hadError: true}, causing type safety violation
  1. Missing required PageProps fields in getStaticProps catch block causing type contract violation
  1. Type contract violation in catch blocks - PageProps missing required fields when error occurs

Fix on Vercel

@rickstaa
Copy link
Member Author

@ECWireless rebased ready for review.

Copy link
Collaborator

@ECWireless ECWireless left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found a few relatively minor issues while QAing

<Box
css={{
marginLeft: "8px",
display: "none",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

UI still just barely breaks for me above 1200 pixels:

Image

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great catch, this issue was already on the main branch but made worse by me adding the gateway menu item. I applied this patch 1a83e79. We might want to improve the layout further in the future by maybe switching to a sidebar based layout. Let me know if this works for you or you need other improvements.

rickstaa and others added 2 commits March 24, 2026 13:46
Local Claude Code tooling state (worktrees, settings) should not be
tracked or linted.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Use explicit path matching (/orchestrating, /delegating, /broadcasting,
/history) instead of broad /accounts catch-all. History page highlights
orchestrator nav for orchs and gateway nav for gateway-only accounts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
rickstaa and others added 3 commits March 24, 2026 14:11
…adge

Reverted the window.open onClick approach in favor of wrapping the Badge
with a proper <A> (Link) element for better accessibility, semantic HTML,
and native browser link behavior (right-click, cmd+click, etc.).

Co-Authored-By: ECWireless <40322776+ECWireless@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remove redundant explicit id fields since accessor already serves as the
column key. Add sortType: "number" to Deposit and Reserve columns so they
sort numerically instead of alphabetically.

Co-Authored-By: ECWireless <40322776+ECWireless@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Reduce fixed margins and add responsive rules below 1250px so the
navbar items fit without overflow on narrower desktop screens.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Review

Development

Successfully merging this pull request may close these issues.

4 participants