- features/billing/{api,components/PlanCard,pages/PricingPage} + 5 tests
- 3 colonnes Free/Standard/Premium avec gating dynamique selon usePlan()
- POST /stripe/checkout avec redirect full-page Stripe Checkout
- env: VITE_STRIPE_PRICE_STANDARD/_PREMIUM (optionnels)
- router: /plan → PricingPage (sous PrivateLayout)
- CTA renommés "Voir les plans" : SimulationsList, RapportPage, TaskSelector,
DashboardFreeView, PaywallBanner — au lieu de CTA orientés un seul plan
- Tests: 198 → 203 verts (+5)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
14 lines
599 B
Text
14 lines
599 B
Text
VITE_API_URL=https://api.expria.app
|
|
VITE_SUPABASE_URL=https://xxx.supabase.co
|
|
VITE_SUPABASE_ANON_KEY=xxx
|
|
|
|
# Optionnel — active la feature T2 Live audio ('true' ou 'false')
|
|
VITE_ENABLE_T2_LIVE=false
|
|
|
|
# Optionnel — DSN Sentry pour monitoring prod (laisser commenté en dev local)
|
|
# VITE_SENTRY_DSN=https://xxxxxx@o000000.ingest.sentry.io/0000000
|
|
|
|
# Sprint 5b — price_ids Stripe publics (Dashboard Stripe → Produits → Plan → Tarif).
|
|
# Requis en dev/prod ; absents en CI tests (tests mockent features/billing/api.ts).
|
|
VITE_STRIPE_PRICE_STANDARD=price_xxx
|
|
VITE_STRIPE_PRICE_PREMIUM=price_xxx
|