Skip to content

feat(website): grid-as-hero with Alpenglow drawer - #62

Merged
blove merged 22 commits into
mainfrom
feat/website-grid-as-hero
May 2, 2026
Merged

blove merged 22 commits into
mainfrom
feat/website-grid-as-hero

Conversation

@blove

@blove blove commented May 2, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Redesigns the marketing landing page so the live data grid IS the hero. Bottom drawer reveals a curated marketing arc on demand. Light mode, Alpenglow palette inspired by Bend / skiing. DOM-first SEO; JS upgrades to overlay drawer above 768px.

Spec: docs/superpowers/specs/2026-05-02-website-grid-as-hero-design.md
Plan: docs/superpowers/plans/2026-05-02-website-grid-as-hero.md

What changes

  • Hero: full-bleed <HeroGrid> with live event-stream replay (1k rows/sec, looping multilingual canned event log)
  • Drawer: <Drawer> + <DrawerHandle> overlay above 768px; below 768px the drawer-wrap renders inline as natural scroll. Hash deep-links (/#receipts) auto-open. Esc + browser back close.
  • Palette: 41 Alpenglow tokens in packages/ui/src/tokens.css (warm cream + dusk peach + cobalt + dark slate). @pretable/ui now exports ./tokens.css.
  • Motifs: <TrailMarker> (green/blue/black/double-black) in ComparisonTable columns and FeatureGrid cards; <MountainFooter> (Cascade silhouette + chairlift, "Built in Bend, OR.") once at page bottom.
  • Content cuts: 8 components deleted (Hero, PlaygroundSection, PositioningStrip, Problem, UseCases, TrustStrip, LandingAmbient, AmbientBlob); 5 new (HeroGrid + heroGrid/{eventLog,replay}, Drawer, DrawerHandle, TrailMarker, MountainFooter, useDrawer); 6 updated (ComparisonTable, FeatureGrid, ReceiptsBand, CtaSection, RouteAwareNav, HowItWorks/CodeExample).
  • ReceiptsBand absorbed PositioningStrip (4 positioning cards) + Problem (callout) into one consolidated section.
  • Smoke test rewritten to assert grid viewport, drawer handle, "Built in Bend, OR." caption, and /docs 200.

Verification

  • typecheck (root + website)
  • lint — 0 errors (1 pre-existing fast-refresh warning on layout.tsx)
  • format — clean
  • tests — 61/61 website + all package suites green
  • build — website + all packages
  • packaging — publint + attw clean on @pretable/core, @pretable/react, @cacheplane/json-stream

Test plan

  • CI green (test/typecheck/lint/format/build/packaging)
  • Vercel preview deploy renders correctly
  • Drawer keyboard interaction (Esc, focus management, popstate)
  • Mobile viewport (<768px) shows scroll page, no drawer overlay
  • `prefers-reduced-motion: reduce` skips drawer animation; hero shows static 50-row snapshot
  • /docs route still loads and inherits RouteAwareNav from root layout
  • Hash deep-link (/#receipts) opens drawer on load

blove and others added 22 commits May 2, 2026 10:26
Brainstormed redesign: full-bleed live streaming grid as the hero,
overlay drawer reveals marketing content. Light mode default with an
Alpenglow palette (Bend/skiing inspiration). DOM-first via CSS upgrade
preserves SEO; JS hydrates to upgrade visual presentation. Trail-map
difficulty markers + alpine type + mountain silhouette as identity
motifs. Mobile = natural scroll page (drawer is desktop-only).

Out of scope: dark mode, mobile drawer overlay, BYOD hero, /docs
redesign.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
19 tasks across 6 phases:
  Phase 1: Alpenglow palette tokens
  Phase 2: New atoms (TrailMarker, MountainFooter)
  Phase 3: Drawer mechanism (useDrawer + Drawer + DrawerHandle + CSS upgrade)
  Phase 4: HeroGrid (eventLog dataset + replay engine + component)
  Phase 5: Updated marketing components (ComparisonTable, FeatureGrid,
           ReceiptsBand consolidation, CtaSection, RouteAwareNav, palette
           sweep on HowItWorks/CodeExample)
  Phase 6: Page assembly + obsolete-component cleanup + smoke spec
           rewrite + README update + final verification + PR open

Each task is TDD where applicable, with concrete code blocks and
expected outputs at every step.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Create packages/ui/src/tokens.css with Alpenglow light-mode palette
  (warm cream paper + dusk peach + cobalt, inspired by Bend/skiing)
- All 23 design tokens defined: page/card/raised backgrounds, text ramp,
  accents (warm orange + cool cobalt), severities, grid/drawer surfaces,
  typography, type scales, and layout tokens
- Update apps/website/app/globals.css to import from new tokens file
- Add --color-cool and --color-sev-ok to Tailwind @theme aliases
- Simplify body rule: remove gradient, drop ambient blob positioning,
  use solid background with light-mode palette
- All 51 existing tests pass; components render under new palette with
  same DOM structure

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- layout.tsx: drop legacy <Footer> + Footer/version props; RouteAwareNav now props-free
- page.tsx: drop duplicate <RouteAwareNav> (it lives in root layout)
- HeroGrid: add index signature to DisplayRow so it satisfies PretableRow generic
- @pretable/ui: export ./tokens.css and emit it in dist (used by globals.css)
- replay.ts: drop unused param in pause() (interface still types it)
- HeroGrid: eslint-disable for one-time reduced-motion hydration setRows
- useDrawer: eslint-disable for post-hydration setIsUpgraded
- prettier --write across redesign files + spec/plan docs
@vercel

vercel Bot commented May 2, 2026

Copy link
Copy Markdown

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

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
pretable Ignored Ignored May 2, 2026 5:53pm

Request Review

@github-actions

github-actions Bot commented May 2, 2026

Copy link
Copy Markdown
Contributor

Vercel preview ready

Preview: https://pretable-qh6b8e7h7-cacheplane.vercel.app
Commit: 4bbeec64e63ebbd86a8662668b1e036ebc3825ba

Updated automatically by the deploy-preview job.

@blove
blove merged commit e0bb4f3 into main May 2, 2026
10 checks passed
@blove
blove deleted the feat/website-grid-as-hero branch May 2, 2026 18: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