Skip to content

feat(landing): finish content, assets, and a11y/perf pass (GF3-003) - #617

Merged
IbrahimIjai merged 2 commits into
SO4-Markets:mainfrom
0xMegie:issue-511
Aug 25, 2026
Merged

feat(landing): finish content, assets, and a11y/perf pass (GF3-003)#617
IbrahimIjai merged 2 commits into
SO4-Markets:mainfrom
0xMegie:issue-511

Conversation

@0xMegie

@0xMegie 0xMegie commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Closes #511

Finishes GF3-002's structural skeleton: every placeholder gets real copy or an
explicit, named gap; every missing GMX asset gets a hand-coded SVG/CSS
equivalent; accessibility and performance are measured against Lighthouse, not
assumed.

Copy — and what it replaced

Every claim on the page is now checked against the actual codebase (README.md,
referrals/data/tiers.ts, earn/data/pools.ts, useMarketsInfo.ts) rather than
adapted from GMX's own copy. That audit surfaced several claims GF3-002 had
shipped that don't hold up:

Section Was Is now
Sponsors "Reflector", "Blend" — zero references anywhere else in the repo Stellar, Soroban, Binance, GMX Oracle — the actual price-feed/infra stack per README
Program cards "Up to 25% off fees", a fabricated developer/builder-fee program Real tiered numbers from tiers.ts (5% flat discount, 5–15% affiliate commission); the invented developer card is dropped
Roadmap Q1–Q4 labels with a fake "audit completed" Shipped/In progress/Next, sourced from README's actual status line and contracts.ts's optional-router comments
Social proof Tweet cards under invented @handles Real product statements, not attributed to people who don't exist
Footer "Charts by TradingView" "Charts by lightweight-charts" — the library SO4 actually uses
Launch section Two-entry "multi-chain" grid (Stellar, Soroban as separate chains) One real card — Soroban is Stellar's contract layer, not a second chain
Hero subheadline "...live since 2026" Removed — SO4 isn't live yet per README's own status

Rotation words, FAQ, and pool names now match what the app actually ships (BTC/ETH/XLM markets, GM/GLV pool structure).

Assets

Hand-coded inline SVG/CSS throughout — hero glow repositioned to match
docs/gf_3/screenshots/hero-desktop.png, program-card glow, pool-card parallax
lines + coin mark, BTC/ETH/XLM asset marks, Stellar mark. No raster files, no
new dependencies.

Accessibility

Measured with Lighthouse against the actual production build (vite preview,
not dev mode):

  • Accessibility: 89 → 100
  • Best-practices: 96
  • Performance: 86

Fixes behind those numbers:

  • A real WCAG 4.1.2 bug in the shared packages/ui/src/components/accordion.tsx:
    aria-hidden on a closed panel didn't stop a keyboard user from tabbing into
    a link inside it. Fixed with inert, covered by a new regression test.
  • Missing <main> landmark on the route.
  • A heading-order skip (h1h3, no h2 — the feature grid had no
    section heading in the DOM). Added a visually-hidden h2.
  • Three failing color-contrast pairs: two uses of gmx-slate-500 (a
    dark-surface token per 001_theme_update.md) on light bands, and
    text-white/70 on the blue feature card.

What's still open

Five TODO(GF3-003) markers remain — each is a named external dependency, not
leftover placeholder copy:

  • No aggregate stats API → - stays the honest value.
  • No newsletter backend → form is disabled with a visible reason instead of
    silently doing nothing on submit.
  • No referral terms / media kit / ToS pages exist yet to link to.
  • No real curated testimonials exist.
  • No analytics page to send the "Total volume" stat to.

Found, not fixed (separate issue)

apps/web/vite.config.ts externalizes @twind/core in the client build, but
stellar-wallets-kit's wallet-selector UI imports it transitively — this
throws a real browser console error (Failed to resolve module specifier "@twind/core") on every route, not just /, and is part of why best-practices
isn't 100. Left alone since it's a wallet-connector build config bug, not a
landing content/asset issue — flagging for its own ticket.

Testing

Full gate passing: bun lint, bun typecheck, bun run check:tokens,
bun run test. Visual-regression baselines regenerated for / (4 files) plus
the 768px/1440px specs from GF3-002. New tests: an accordion regression test
for the inert fix, plus formatters.test.ts (9 cases, previously untested).

Side-by-side GMX-vs-SO4 screenshots per the acceptance criteria: [attach
manually against docs/gf_3/screenshots/*.png — I don't have a way to capture
gmx.io from here].

Reviewer note

Not all copy is final — several sections (roadmap dates, sponsor list,
newsletter endpoint) depend on facts only the maintainer has. Flagged inline
with TODO(GF3-003) rather than guessed.

- Refactor hero section to remove volume link and adjust background animation.
- Simplify launch section to represent SO4 as a single chain with a Stellar mark.
- Update liquidity section to reflect accurate pool information and user engagement message.
- Disable newsletter form with a clear message about upcoming functionality.
- Enhance pool card with parallax lines and a coin icon for better visual representation.
- Revise program cards to accurately reflect SO4 offerings and remove non-existent programs.
- Adjust roadmap section to use stage labels instead of quarters, reflecting current project status.
- Update social section with accurate links and placeholder values for follower counts.
- Replace social slider content with product highlights instead of fabricated testimonials.
- Modify sponsors section to accurately represent SO4's infrastructure partners.
- Implement utility functions for formatting numbers and add tests for validation.
- Improve accessibility in accordion component by using inert attribute for closed panels.
@vercel

vercel Bot commented Aug 25, 2026

Copy link
Copy Markdown

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

A member of the Team first needs to authorize it.

@vercel

vercel Bot commented Aug 25, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
interface-web Ready Ready Preview Aug 25, 2026 10:25am

@IbrahimIjai

Copy link
Copy Markdown
Contributor

Great job

@IbrahimIjai
IbrahimIjai merged commit 7611be9 into SO4-Markets:main Aug 25, 2026
5 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.

GF3-003: Landing page finishing — content, assets, and pixel parity

2 participants