Skip to content

feat: type/radius/elevation tokens, resource hints, Latin-only fonts - #1026

Merged
IbrahimIjai merged 2 commits into
SO4-Markets:mainfrom
Godbrand0:fix/design-system-and-perf-920-921-929-930
Oct 21, 2026
Merged

IbrahimIjai merged 2 commits into
SO4-Markets:mainfrom
Godbrand0:fix/design-system-and-perf-920-921-929-930

Conversation

@Godbrand0

Copy link
Copy Markdown
Contributor

Closes #920
Closes #921
Closes #929
Closes #930

What changed

  • [Design system] Arbitrary type sizes #920: text-[10px]/text-[11px] -> text-10/text-11 tokens; removed the ds-allow comments that excused them.
  • [Design system] Radius and elevation scale audit #921: bare rounded -> rounded-sm (same 4px); declared --shadow-xs..xl (Tailwind default values, no visual change); check:tokens now rejects bare rounded; DESIGN.md and the docs design-system page document the radius and elevation scales.
  • [Performance] Preconnect / DNS-prefetch #929: placeholder example.com dns-prefetch hints replaced by real preconnect (RPC, Horizon) and dns-prefetch (Pyth, Binance) links built from env config (resource-hints.ts, with tests).
  • [Performance] Subset and self-host fonts #930: only the Latin face of Geist / Geist Mono / Archivo is declared (Space Mono uses its Latin stylesheets); the Geist face is preloaded from the root route. Adds @fontsource-variable/geist to apps/web (previously undeclared there).

Measurements (bun run build, apps/web)

before after
woff2 files emitted 20 5
woff2 bytes 307,132 120,700
CSS bytes 176,496 171,252

Lighthouse was not run.

Verification — please read

  • Pass locally: check:tokens, check:content, test, test:coverage, build.
  • lint and typecheck FAIL, on errors that already exist on main. I verified on a clean main: the same 11 tsc errors (e.g. missing useState in TVChart.tsx, missing cn in TradePanel.tsx, duplicate functions in debug-logger.ts) and web lint errors are present without this change. They are not fixed here.
  • I did fix two things that blocked checks: a broken escape in DepthLadder.test.tsx (syntax error that hid all other type errors) and two lint errors in segmented-control.tsx.
  • Not done: light/dark before/after screenshots, the clean-room install (AGENTS.md §4) for the package.json/bun.lock change, and the integration-check steps. The changelog entry is also still to come.

- SO4-Markets#920: replace text-[10px]/text-[11px] with text-10/text-11 tokens and drop
  the ds-allow comments that excused them.
- SO4-Markets#921: replace bare `rounded` with `rounded-sm`, declare --shadow-xs..xl
  (Tailwind default values, no visual change), document both scales, and
  make check:tokens reject bare `rounded`.
- SO4-Markets#929: replace placeholder example.com dns-prefetch hints with real
  preconnect (RPC, Horizon) and dns-prefetch (Pyth, Binance) links.
- SO4-Markets#930: declare only the Latin face of Geist/Geist Mono/Archivo and preload
  the Geist face. Built woff2 files: 20 -> 5 (307,132 B -> 120,700 B).

Also fixes a broken escape in DepthLadder.test.tsx and two lint errors in
segmented-control.tsx that blocked the checks.

Commit gate: check:tokens, check:content, test, test:coverage and build
pass locally. lint and typecheck FAIL on unrelated pre-existing errors on
main (verified identical on a clean main: 11 type errors, web lint errors).
@vercel

vercel Bot commented Oct 20, 2026

Copy link
Copy Markdown

@Godbrand0 is attempting to deploy a commit to the Ijai's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Oct 20, 2026

Copy link
Copy Markdown

@Godbrand0 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@IbrahimIjai
IbrahimIjai merged commit 9c3a6f8 into SO4-Markets:main Oct 21, 2026
1 of 5 checks passed
@grantfox-oss grantfox-oss Bot mentioned this pull request Oct 21, 2026
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants