Session 36: Design system Phase E — remaining screens + dashboard Bloomberg lines (1853 tests)
VYNDR 2.0 conversion, Phase E. Frontend-only; zero backend changes. - lib/slateAdapter.js: parseAmericanOdds, detectBestLines, mapScheduleToGameCards (best/worst line detection — the Bloomberg pattern). - Reskinned the LEGACY GameCard's game-lines grid with best/worst highlighting + SportBadge, keeping inline grading intact (a wholesale swap to the display-only vyndr/GameCard would have deleted the slate's grading interaction). - compare/invite/help/about: RouteStubs -> real design-system pages. - login reskinned (scanlines, system voice, new Wordmark); pricing + ClaimMeter. Honest scope: the full GameCard swap needs inline grading ported into the new component first; profile/settings/blog/game-detail reskins are light/deferred. 18 new tests. Backend 1839 -> 1853, 144 suites, zero regressions. Web build clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,13 +1,47 @@
|
||||
import RouteStub from '@/components/vyndr/RouteStub';
|
||||
import SectionHead from '@/components/vyndr/SectionHead';
|
||||
import { Wordmark } from '@/components/vyndr';
|
||||
|
||||
export const metadata = { title: 'About' };
|
||||
|
||||
// Brand page in system voice (§3). Server component.
|
||||
export default function AboutPage() {
|
||||
return (
|
||||
<RouteStub
|
||||
title="About"
|
||||
arriving="SESSION 36"
|
||||
blurb="The books have every advantage. We built this to give it back. Built by Kevon Butler · Detroit."
|
||||
/>
|
||||
<section style={{ maxWidth: 680, margin: '0 auto', padding: '40px 16px 96px' }}>
|
||||
<div style={{ marginBottom: 28 }}>
|
||||
<Wordmark size="lg" cursor beta />
|
||||
</div>
|
||||
|
||||
<h1 style={{ fontSize: 'clamp(28px, 6vw, 40px)', fontWeight: 800, letterSpacing: '-0.03em', lineHeight: 1.1, marginBottom: 20, color: 'var(--text-0)' }}>
|
||||
The books have every advantage. We built this to give it back.
|
||||
</h1>
|
||||
|
||||
<div style={{ display: 'flex', flexDirection: 'column', gap: 22 }}>
|
||||
<p className="mono" style={{ fontSize: 14.5, color: 'var(--text-1)', lineHeight: 1.7 }}>
|
||||
VYNDR is prop intelligence — a proprietary terminal that reads the context the books hide.
|
||||
Beyond the box score: form, matchup, usage, rest, the cascade when a star sits. Then a single
|
||||
grade, earned across 40+ factors, that tells you whether the number is worth taking.
|
||||
</p>
|
||||
<p className="mono" style={{ fontSize: 14.5, color: 'var(--text-1)', lineHeight: 1.7 }}>
|
||||
We are an analytics tool, not a sportsbook. We don't take wagers. We hand you the read and
|
||||
the kill conditions, and let you decide.
|
||||
</p>
|
||||
|
||||
<div>
|
||||
<SectionHead style={{ marginBottom: 12 }}>BUILT BY</SectionHead>
|
||||
<div style={{ background: 'var(--bg-1)', border: '1px solid var(--border)', borderRadius: 10, padding: 18 }}>
|
||||
<div style={{ fontSize: 17, fontWeight: 800 }}>Kevon Butler</div>
|
||||
<div className="mono" style={{ fontSize: 12.5, color: 'var(--text-1)', marginTop: 4 }}>Founder · Detroit</div>
|
||||
<p className="mono" style={{ fontSize: 13.5, color: 'var(--text-1)', lineHeight: 1.65, marginTop: 12 }}>
|
||||
A glitch between a tech-genius mind and a love for sports. Built in Detroit, for everyone the
|
||||
books count on staying in the dark.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="mono" style={{ fontSize: 11.5, color: 'var(--text-2)', letterSpacing: '0.08em' }}>
|
||||
BUILT BY KEVON BUTLER · DETROIT · © 2026 VYNDR
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user