Skip to content

feat(landing): chain chip row under hero proof line#14

Merged
fielding merged 1 commit into
mainfrom
feat/landing-chain-chips
Apr 26, 2026
Merged

feat(landing): chain chip row under hero proof line#14
fielding merged 1 commit into
mainfrom
feat/landing-chain-chips

Conversation

@fielding

Copy link
Copy Markdown
Owner

Summary

Stacked on #13 (chain: feat/landing-chain-chips → feat/expand-chains → feat/wagmi-multichain → feat/page-refactor → feat/chain-registry → main). Closes `RG-213ce7`.

Adds a row of chain chips below the hero proof-line stats ("100% Non-custodial · 4× Audited · 0 Admin keys · 0 Lines of new code"). Each chip links to that chain's Sablier Lockup contract on its native block explorer — one click from the landing to verify the actual deployed contract.

Implementation

The chips are derived from the `CHAINS` registry filtered by the deployment's `isTestnet` flag (mirroring the wagmi config). The mainnet site shows 7 chips: Base, Ethereum, Arbitrum, Optimism, Polygon, Avalanche, BNB. The testnet site shows just Base Sepolia. Adding a chain to the registry auto-expands this row; no separate config to maintain.

Styling: OKLCH cyan-tinted pill chips matching the design system. Casino-voice eyebrow ("Live across"). Touch-target compliant (`min-h-[2.5rem]`). No entrance animation — doesn't compete with the hero choreography. Each chip carries a `title` attribute ("Verify the Sablier Lockup contract on [Chain]") for hover/screen-reader context.

Why under the proof line and not in a separate section

The proof-line stats establish trust through claims ("non-custodial," "audited," "no admin keys"). The chip row converts those claims into something a sceptical visitor can verify themselves in one click. Putting the chips immediately after the claims keeps the cause-and-effect tight: see claim → click to verify → land on the actual contract on Etherscan/Arbiscan/etc.

A standalone section further down the page would have buried the verification path behind two scrolls of marketing copy. The proof line was the right anchor.

Test plan

  • `pnpm --filter app test` — 72 tests pass (registry tests already cover the data driving these chips)
  • `pnpm --filter app exec tsc --noEmit` — clean
  • `NODE_ENV=production pnpm --filter app build` — clean
  • Vercel preview: confirm 7 chips render in order, each links to the right explorer + address
  • Mobile responsive: `flex-wrap` should let the chips wrap to a second row on narrow viewports
  • Click each chip: opens explorer in new tab pointing at `/address/<sablier_address>` for that chain

🤖 Generated with Claude Code

@vercel

vercel Bot commented Apr 25, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
ripguard Ready Ready Preview, Comment Apr 26, 2026 8:26am
ripguard-testnet Ready Ready Preview, Comment Apr 26, 2026 8:26am

@fielding

Copy link
Copy Markdown
Owner Author

Reviewer orientation — multi-EVM stack [5/6]

This PR is part of a 6-PR stacked multi-EVM rollout. Review #8#13 first — this PR is pure UI on top of the data they ship.

PR Branch What it does
1 #8 feat/chain-registry registry foundation
2 #11 feat/page-refactor switch pages to useChainId
3 #12 feat/wagmi-multichain registry-driven wagmi + wrong-chain guard
4 #13 feat/expand-chains 6 new chains + BNB disclosure
→ 5 #14 feat/landing-chain-chips landing chain chip row (you are here)
6 #15 feat/balances-script `pnpm balances` CLI

Move to #15 when done.

Pure presentation change: a row of clickable chain chips below the hero proof line, each linking to that chain's Sablier contract on the native explorer. Reads from the registry; adding a chain auto-expands the row.

@fielding fielding left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

No direct blockers in this UI layer.

The chip row is simple and reads from the registry, which is the right shape. The explorer URLs are built from each chain's explorerUrl + sablierLockup, so adding chains later should extend this automatically.

One non-blocking note: the row uses Object.values(CHAINS), so the displayed order follows JavaScript numeric-key order, not the order described in the PR. Today that is Ethereum, Optimism, BNB, Polygon, Base, Arbitrum, Avalanche. If the intended order is Base first, add an explicit ordered chain list and use it here.

This PR should wait for the lower-stack fixes in #11, #12, and #13, plus the smoke checklist on the top preview.

@fielding fielding force-pushed the feat/expand-chains branch from 03252aa to 458e6dd Compare April 25, 2026 21:57
@fielding fielding force-pushed the feat/landing-chain-chips branch from 49a2f03 to e1fdde5 Compare April 25, 2026 21:58
@fielding

Copy link
Copy Markdown
Owner Author

Stack rebased on top of all the fixes for #11/#12/#13. No code changes here in this round — the chip row's logic is unchanged.

On the non-blocking ordering note: I'm holding the explicit-ordered-chain-list change for now to avoid another rebase round across the whole stack. The current ordering (Ethereum, Optimism, BNB, Polygon, Base, Arbitrum, Avalanche) follows numeric chainId; if you want Base first I can add an explicit `MAINNET_CHAINS_DISPLAY_ORDER` constant in chains.ts and reuse it in wagmi.ts + the chip row, as a follow-up after this stack lands.

Tests + typecheck + production build pass. Ready for re-review.

Adds a row of clickable chain chips below the hero's proof-line stats
showing every chain RipGuard runs on. Each chip links to that chain's
Sablier Lockup contract on its native explorer — verification is one
click away, in line with the trust pitch.

The row filters the registry by the deployment's testnet flag, so the
mainnet site shows the 7 EVM chains (Base, Ethereum, Arbitrum, Optimism,
Polygon, Avalanche, BNB) and the testnet site shows only Base Sepolia.
No additional config to maintain — adding a chain to the registry adds
it to the chip row automatically.

Casino-voice eyebrow ("Live across"), OKLCH cyan-tinted styling,
touch-target compliant (min-h 2.5rem), no entrance animation so it
doesn't compete with the hero choreography.

Refs: RG-213ce7

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@fielding fielding force-pushed the feat/landing-chain-chips branch from e1fdde5 to 5896c8e Compare April 26, 2026 08:11
@fielding fielding merged commit 1939a58 into main Apr 26, 2026
1 of 3 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.

1 participant