Commit Graph

6 Commits

Author SHA1 Message Date
kang
accb67e8ff feat: DTC carousel — 5 real codes with AI diagnosis, auto/manual scroll
New DTCCarousel section (#cases) sits between Hero and Showcase, showing
five common OBD-II codes with their OBDX output:

  P0420 · Catalytic Converter (Civic) — Plan within 2 weeks · $400–650
  P0301 · Cyl 1 Misfire (Camry)       — Easy fix · $80–200
  P0171 · Lean Fuel (F-150)           — Easy fix · $80–220
  P0442 · EVAP Small Leak (Equinox)   — Easy fix · $5–120
  P0700 · Trans Fault (Grand Cherokee)— Urgent · $100 diag–$3,500 rebuild

Each slide has an INPUT card (DTC + vehicle + mileage, big monospaced code
colored by severity) and an OUTPUT card (plain-English diagnosis + severity
pill + cost / drivability / first-move triplet).

UX: 6s auto-advance with linear progress bar, pause on hover & touch, prev
/next arrows, 5 jump-to dots, reduced-motion aware, aria-current on dots.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 21:14:48 +08:00
kang
b51e07c843 fix(qa): mascot 5.4MB → 127KB (sips JPEG q88), wire up #features anchor
- public/brand/ip/wrench-uncle/default.jpg: 900px wide JPEG q88 (130 KB),
  -97.7% vs the 5.65 MB PNG it replaces in Hero. Original PNG kept on disk
  in case higher-res variants are needed later.
- ASSETS.wrenchUncle now points to the JPEG.
- Hero features bento gets id="features" + scroll-mt-6 so the navbar's
  Features link (and the footer Product/Features) actually scrolls
  somewhere instead of dead-anchoring.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 18:39:56 +08:00
kang
fe213da700 feat: add SampleReport.tsx (was missed in previous commit, untracked) 2026-04-23 16:53:02 +08:00
kang
6606bbdf81 feat: SampleReport section — full mock AI report (Honda Civic, 3 DTCs, $520-850)
The "Run a demo report" CTA in Showcase now scrolls to a complete sample —
vehicle bar, health score 78/100 (B+), AI summary, 3 prioritized issues
(P0420 / P0171 / P0496), total cost, and "Try with your car" / "Send to
mechanic" CTAs. Hardcoded data — no backend AI Key needed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 16:51:50 +08:00
kang
a3381cbfd8 nginx: reverse-proxy legacy /scan.html /demo.html /report/* alongside /api/*
These paths are still served by the old FastAPI container (now obdx-api),
so the new landing nginx must forward them upstream instead of letting the
SPA fallback swallow them.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 16:35:50 +08:00
kang
7193eacfa5 init: OBDX web landing (Bento Garage design)
- Vite + React + TS + Tailwind v4 + framer-motion + lucide
- 5 sections: Hero, Showcase (steps + 3 cases), Pricing, Comparison, Footer
- Brand assets local (logo v2 SVG, 3 mascots, 6 scenes) under public/brand/
- Dockerfile multi-stage (node 20 build → nginx 1.27 alpine)
- nginx /api/* reverse-proxy to obdx-api:8080, SPA fallback
- /healthz endpoint for Coolify

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 16:19:47 +08:00