Skip to content

GF3-002: Rebuild the landing page structure to match GMX #510

Description

@IbrahimIjai

Context

With the theme in place (GF3-001), the landing page at / is rebuilt section-by-section
to mirror GMX's Home page. Read the GMX code as you build:
github.com/gmx-io/gmx-interface/tree/release/landing
— every component referenced below lives under landing/src/pages/Home/. The full
spec — render order, layouts, responsive behavior, reference screenshots, and a
GMX→SO4 section map — is 002_landing_page.md, with
permalinks to every GMX source file at the pinned commit. GMX's order is: HeaderMenu →
HeroSection (animated headline, CTA, live stats, feature grid) → LaunchSection (light
band) → LiqiuditySection (light band) → SponsorsSection (light band) → ProgramCards →
FaqSection → RoadmapSection → SocialSection (which includes the footer link row — GMX
has no separate footer). This issue is structure only: layout, components,
responsiveness, and wiring, using placeholder copy and placeholder visuals. Content
perfection is GF3-003.

Scope

  • Rebuild apps/web/src/ui/landing/* into GMX's nine sections (rename/replace the
    existing hero/stats/features/markets/how-it-works/infrastructure/final-cta/footer
    set per the section map in 002_landing_page.md), composed from
    apps/web/src/routes/index.tsx.
  • Fixed HeaderMenu with desktop nav, mobile burger full-screen menu (hairline-divided
    links, bottom social row), and btn-landing "Open app" → /trade.
  • Hero: 100px display headline with the rotating-word slot (framer-motion
    AnimatePresence, 2.5s cycle, y 98→0→−98 — see AnimatedTitle.tsx permalink in
    the spec), "Trade now" CTA, subheadline, and the 3-stat row (Traders / Open interest /
    Total volume) reading from SO4's stats source with - loading placeholders.
  • Feature card grid (lg:grid-cols-3 lg:grid-rows-3, six rounded-20 cards including
    one bg-blue-400 and one col-span-2 CTA card).
  • Light bands: LaunchSection (chain launcher grid), LiqiuditySection (live total +
    pool cards with hover lift), SponsorsSection (logo card row) — pure-white and
    #F4F5F9 surfaces exactly as specced.
  • Dark sections: ProgramCards (two program cards over the glow treatment), FaqSection
    (grid-rows accordion, no JS height measurement), RoadmapSection (horizontal
    quarter timeline with completed/upcoming states), SocialSection (marquee skeleton,
    community stats + newsletter form, footer link row).
  • Newsletter form, social links, and footer links wired to SO4's real endpoints/URLs
    (placeholder handlers where a backend doesn't exist yet).
  • prefers-reduced-motion respected for the marquee and title rotation.

Acceptance criteria

  • All nine sections render in GMX's order at /, responsive at 390px / 768px /
    1440px, matching the layouts in 002_landing_page.md.
  • Light/dark band rhythm matches the spec (hero dark → launch white →
    liquidity/sponsors #F4F5F9 → programs→footer dark).
  • Stats render live values when available and - while loading; no layout shift
    when values arrive.
  • FAQ accordion, mobile menu, and roadmap scroll work with keyboard and touch;
    focus states visible.
  • bun run check:tokens, typecheck, and test pass; visual-regression baselines
    for / regenerated and reviewed in the PR.
  • Placeholder copy is clearly marked (TODO(GF3-003)) so finishing work is
    greppable.

Out of scope

  • Final copy, real partner/tweet content, recreated image assets, and pixel-perfect
    parity polish — all GF3-003.
  • Theme tokens themselves (GF3-001); this issue consumes them.
  • The /builders, /trader-affiliate-program, and terms pages GMX also ships.

Metadata

Metadata

Assignees

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardThird CampaignCampaign: Third Campaign

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions