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:
@@ -121,8 +121,9 @@ describe('Phase C — layout wiring', () => {
|
||||
});
|
||||
|
||||
describe('Phase C — route stubs for not-yet-built screens', () => {
|
||||
// /terminal became a real page in Session 35 (Phase D) — no longer a stub.
|
||||
const stubs = ['compare', 'invite', 'help', 'about', 'notifications'];
|
||||
// /terminal became real in Session 35; /compare /invite /help /about became
|
||||
// real in Session 36 (Phase E). Only /notifications remains a stub.
|
||||
const stubs = ['notifications'];
|
||||
it.each(stubs)('/%s has a page that uses the design-system RouteStub', (name) => {
|
||||
expect(exists(`app/${name}/page.tsx`)).toBe(true);
|
||||
expect(read(`app/${name}/page.tsx`)).toContain('RouteStub');
|
||||
|
||||
Reference in New Issue
Block a user