Skip to content

feat(#180): one monochrome design and navigation across all w3-kit sites - #179

Merged
PetarStoev02 merged 2 commits into
mainfrom
feat/monochrome-theme-routing
Oct 29, 2026
Merged

PetarStoev02 merged 2 commits into
mainfrom
feat/monochrome-theme-routing

Conversation

@PetarStoev02

@PetarStoev02 PetarStoev02 commented Oct 29, 2026 •

Copy link
Copy Markdown
Member

Closes #180

Every w3-kit site looked and navigated differently. The main site, ui., docs. and registry. each had their own header, footer and styling. Subdomain routing also leaked internal paths: ui.w3-kit.com redirected to /ui, and registry links went to registry.w3-kit.com/registry/....

This PR gives all four sites one monochrome theme, with the logo's purple as the only colour, and one routing setup.

Design

  • Shared colour, type, spacing and motion tokens in tokens.css, with light and dark themes.
  • One header on every site: each site's own menus, plus an "Ecosystem" dropdown to switch sites. The main site's header has no section links.
  • One footer on every site: each site's own link columns, then Ecosystem and Community, and the full-width wordmark.
  • Landing page rebuilt. A /design reference page is added; nothing links to it.
  • Components, docs and registry pages rebuilt in the same style.

Routing

  • TanStack Router rewrite maps each subdomain to its route folder, so the address bar keeps clean paths. This replaces the custom server entry and the client-side replaceState hack.
  • The subdomain list is defined once. The learn and design subdomains are removed.
  • The apex domain is canonical. www, w3-kit.com/{ui,docs,registry}/*, learn. and design. redirect in vercel.json.
  • The old guide pages on ui. (/installation, /mcp, …) redirect to docs with a 301.

Removed: the blog, the changelog, the compare page and the under-construction pages, plus the code only they used (GSAP and several unused UI primitives).

Bugs fixed along the way

  • Component install command. npm's w3-kit became the recipe CLI at 0.2.0, so the old command no longer installs components. Install commands now use w3-kit@0.1.7, defined in one place.
  • Registry API page. It showed getTokenAddress and getRpc, which are not exported by @w3-kit/registry. It now uses only real exports, and the example outputs come from the site's own data.
  • Missing component styles. The mirrored components folder is gitignored, so Tailwind never scanned it and many component styles were missing. Fixed with an @source directive.
  • Broken wallet logos. The demos used Clearbit's logo API, which no longer serves images. They now use letter marks.
  • Sticky header and side menus. overflow-x-hidden stopped them sticking. Changed to overflow-x-clip.
  • Docs sidebar order. It was alphabetical; it now follows reading order.
  • Generated labels. Acronyms now read CLI, NFTs, DeFi, EVM and MCP instead of "Cli", "Nfts" and so on.

Review follow-ups (second commit)

  • Shared frame: the header and footer now live together in widgets/site-chrome, with the nav config inside it. The header is split into a menu hook and small parts, and one SiteShell frames every site.
  • One copy button: a single CopyCommand button, and each shell command is defined once.
  • Data lookups: chain, token and guide lookups now live in their data modules. A missing chain or token fails with a clear error instead of crashing on undefined.
  • Less duplication: one shared not-found screen, and old design tokens and unused UI primitives are removed.
  • Stats: the landing stats read stable keys from the stats generator.
  • Category filter: fixed two bugs the new tests caught. Both "All" and the chosen category were marked current, and an unknown ?category showed an empty grid.

CI fixes

  • Type errors on main: tsc was already failing there. The Chain type now includes rpcEndpoints, and Storybook stories are no longer copied into the component mirror.
  • Vercel security block: @tanstack/react-start is bumped from 1.168.20 to 1.168.61, because Vercel refuses to build 1.168.20 (CVE-2026-102989). I stayed on 1.168.x because 1.169 requires Vite 8. @tanstack/react-router is pinned to 1.170.42 so only one copy of the router is installed.

Testing

  • npx playwright test: 36 passed. The landing spec covers the page, subdomain routing, header menus (Escape and outside click), the theme toggle, the catalog filter, an unknown component and the recipe tabs. The registry spec is updated for the new markup and URLs.
  • npm run build, npm run typecheck, npm run lint and npm run format:check all pass. These are the same steps CI runs.

Depends on the learn repo. The new /mcp docs page needs docs/mcp.md, which is local and not yet committed in learn. In that repo the whole docs/ folder is currently untracked, so CI builds that clone learn won't have any of the docs pages. Docs text that is still wrong (the Installation and CLI pages) also lives in learn.

The four sites (w3-kit.com, ui., docs., registry.) each had their own
header, footer and look, and subdomain routing leaked internal paths
(ui.w3-kit.com redirected to /ui, registry links pointed at /registry/...).

- Black and white theme with the logo's purple as the only colour, shared
  type, spacing and motion tokens.
- One shared header (per-site menus plus an Ecosystem switcher) and one
  footer (per-site columns) on every site.
- Routing: TanStack Router rewrite maps subdomains to route folders, so the
  address bar keeps clean paths; one subdomain list; apex is canonical, www
  and apex section paths redirect; learn and design subdomains removed.
- Landing rebuilt, unlinked /design reference page added; blog, changelog
  and compare removed.
- Components, docs and registry pages rebuilt; old guide pages on ui. now
  redirect to docs, MCP gets a docs page.
- Fixes: component install command (w3-kit@0.1.7), registry API examples
  that used functions the package does not export, mirrored components not
  scanned by Tailwind, dead Clearbit logos, sticky elements broken by
  overflow-x-hidden.
@vercel

vercel Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
w3-kit Ready Ready Preview Oct 29, 2026 12:58pm UTC

- Shared site chrome: header split into a menu hook, desktop nav, actions,
  panels and mobile menu; one SiteShell replaces the per-site shells; nav
  config lives with the header and footer in widgets/site-chrome.
- One CopyCommand button and one place per shell command.
- Chain, token and guide lookups move into their entities; unchecked
  lookups fail with a clear error instead of crashing on undefined.
- One NotFound screen; old design tokens and dead UI primitives removed.
- Landing stats read stable keys from the stats generator.
- Category filter: only the chosen tab is current, unknown categories show
  everything.
- CI: Chain type gains rpcEndpoints, Storybook stories are no longer
  mirrored, TanStack Start bumped to 1.168.61 (Vercel blocks 1.168.20 for
  CVE-2026-102989).
- Tests for menus, theme, catalog filter, not-found and recipe tabs.
@PetarStoev02 PetarStoev02 changed the title feat: one monochrome design and navigation across all w3-kit sites feat(#180): one monochrome design and navigation across all w3-kit sites Oct 29, 2026
@PetarStoev02
PetarStoev02 marked this pull request as ready for review October 29, 2026 12:57
@PetarStoev02
PetarStoev02 merged commit 775fb49 into main Oct 29, 2026
7 of 8 checks passed

This branch was successfully deployed

1 active deployment
Preview — 69f44357 Deployed Oct 29, 2026 by vercel[bot]
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.

Unify the w3-kit sites under one design and fix subdomain routing

1 participant