Phase 1: Design system foundation — tokens, fonts, sidebar layout

- index.css: @import "tailwindcss" + @theme block with full colour
  palette, shadows, radii, typography tokens, skeleton animation
- index.html: Google Sans + Roboto Mono fonts, title → Flight Radar
- src/lib/utils.ts: cn() helper (clsx + tailwind-merge)
- Layout.tsx: 256px fixed sidebar on desktop (active pill nav, logo,
  Developer section divider), sticky top bar with page title + New Scan
  CTA (hidden on /scans), bottom nav bar on mobile with pill indicator
- package.json/lock: add lucide-react, clsx, tailwind-merge
- .gitignore: unblock frontend/package*.json and frontend/src/lib/

Build: 0 TypeScript errors · 0 console errors · all 6 criteria pass

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-27 14:44:44 +01:00
parent 5d08d9353d
commit 7417d56578
7 changed files with 4664 additions and 76 deletions

View File

@@ -46,10 +46,12 @@ htmlcov/
*.csv
*.log
# JSON — keep fixture and airport data, ignore everything else
# JSON — keep fixture, airport data, and frontend manifests
*.json
!data/airports_by_country.json
!tests/confirmed_flights.json
!frontend/package.json
!frontend/package-lock.json
# Database files
*.db
@@ -57,3 +59,4 @@ htmlcov/
# Node
frontend/node_modules/
frontend/dist/
!frontend/src/lib/