Skip to content

feat(ui): implement blue-accent reference design across all pages - #33

Merged
arifintahu merged 4 commits into
mainfrom
feat/blue-reference-redesign
Jul 1, 2026
Merged

feat(ui): implement blue-accent reference design across all pages#33
arifintahu merged 4 commits into
mainfrom
feat/blue-reference-redesign

Conversation

@arifintahu

Copy link
Copy Markdown
Owner

Summary

  • Rebuild every page (dashboard, blocks, transactions, IBC transfers, validators, proposals, accounts, parameters) and the shared shell (sidebar, top nav, connect flow) around a shared blue-accent design system, replacing the previous amber/violet system, while keeping all existing hooks, routing, and RPC behavior intact.
  • Full UI/UX + WCAG 2.1 AA follow-up pass: contrast, keyboard-operability, focus-visibility, form labels, skip link, live regions, reduced motion; theme-aware status/type pills via a new shared pillStyle utility (previously duplicated 3x with hardcoded hex); real validator uptime via the slashing module's signing-info query (was a permanently-fake "N/A"); corrected IBC transfer event parsing (channel/amount/denom were reading the wrong event attribute keys); mobile layout fixes (top bar controls hidden below breakpoint with no alternative, avatar badges losing aspect ratio under flex pressure); removed dead code (Datatable, SearchBar, CodeBlock).

Test plan

  • pnpm lint — clean
  • pnpm exec tsc -b --noEmit — clean
  • pnpm test -- --run — 10/10 passing
  • Manually exercised every page at desktop (1280×800) and mobile (390×844), light and dark theme, against a live-connected Cosmos Hub RPC
  • Verified WCAG contrast fixes with recomputed ratios and keyboard-only navigation of previously-inaccessible rows

Rebuild every page (dashboard, blocks, transactions, IBC transfers,
validators, proposals, accounts, parameters) and the shared shell
(sidebar, top nav, connect flow) around a shared blue-accent design
system (panel-surface / reference-table-shell / reference-pill), moving
off the previous amber/violet system to match the approved reference
design while keeping all existing hooks, routing, and RPC behavior
intact.

Also included, found and fixed during a follow-up UI/UX + WCAG 2.1 AA
review pass:
- contrast, keyboard-operability, focus-visibility, form-label, skip-
  link, live-region, and reduced-motion fixes across the app
- theme-aware status/type pill styling via a new shared pillStyle
  utility, replacing three duplicated hardcoded-hex implementations
- real validator uptime via the slashing module's signing-info query
  (previously a permanently-fake "N/A" field)
- corrected IBC transfer event parsing (channel/amount/denom were
  reading the wrong event attribute keys) with proper ticker conversion
- mobile layout fixes (top bar search/connection controls were hidden
  below breakpoint with no alternative, avatar badges were losing their
  aspect ratio under flex pressure)
- removed dead code (unused Datatable/SearchBar/CodeBlock components)
@vercel

vercel Bot commented Jul 1, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
dexplorer Ready Ready Preview, Comment Jul 1, 2026 8:59am

- BlockDetail: App Hash and Proposer were always blank because
  getBlock() returned StargateClient's narrow BlockHeader type, which
  omits appHash/proposerAddress even though the raw Tendermint response
  always carries them. Now merges the real bytes in from the raw block
  query.
- CopyText nested inside a Link (Transactions.tsx's tx hash cell)
  created two overlapping interactive elements: clicking the copy icon
  both copied the hash AND navigated to the tx detail page, and
  keyboard users got a redundant second tab stop. CopyText now accepts
  an overridable tabIndex (default 0) and calls preventDefault() on
  copy, so nested usages can opt out of the tab stop and the click no
  longer bubbles into the parent link's navigation.
Cleanup pass across packages, code, and docs:

- Remove unused dependencies: @tanstack/react-table and lucide-react
  (zero imports anywhere in src/), react-syntax-highlighter and its
  @types package (orphaned when CodeBlock was deleted), @types/jest
  (project uses Vitest's own globals, not Jest)
- Delete dead files: components/Empty.tsx and hooks/useDebounce.ts
  (no consumers), encoding/proposal.ts and its test (decoded the legacy
  gov v1beta1 TextProposal content; this app reads gov v1's
  proposal.summary directly and never called it)
- Trim unused exports from utils/helper.ts (displayCoin, normalizeUrl,
  getUrlFromPath, and an unused CSV/JSON export feature: convertToCSV,
  downloadData, exportTransactionsToCSV/JSON, exportBlocksToCSV/JSON)
  and utils/constant.ts (GOV_PARAMS_TYPE)
- Update README to drop references to deleted components/dependencies,
  correct the i18n claim, and document IBC Transfers, real validator
  uptime, and the WCAG 2.1 AA accessibility work as features

Verified: lint, typecheck, full test suite, and production build all
pass; smoke-tested live against a connected RPC.
@arifintahu arifintahu self-assigned this Jul 1, 2026
@arifintahu
arifintahu merged commit eaf9aa9 into main Jul 1, 2026
6 checks passed
@arifintahu
arifintahu deleted the feat/blue-reference-redesign branch July 1, 2026 09:02
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