/** * DashboardFreeView — vue Dashboard pour le plan Découverte. * * Spécificités Free : * - Pas d'appel `useSimulationsList` (gate 'dashboard' à false côté backend). * - Hero NCLC en état placeholder (pas d'historique lisible). * - Stat cards avec "NCLC estimé —" et "Dernier score —". * - Recommandation statique vers la première simulation EE T2. * - Bannière upsell Standard en bas. * * Règle D : aucun `plan === 'free'` — c'est le parent (DashboardPage) qui * route vers cette vue via hasAccess. * Règle H : aucune logique métier — les données viennent des props. * Règle L : tokens du design system exclusivement. */ import { useNavigate } from 'react-router-dom' import { Plus } from 'lucide-react' import { Button } from '@/shared/ui/Button' import { Badge } from '@/shared/ui/Badge' import { NclcHero } from './NclcHero' import { StatCards } from './StatCards' import { NextStepCard } from './NextStepCard' import { PaywallBanner } from './PaywallBanner' interface DashboardFreeViewProps { displayName: string simulationsUsed: number simulationsRemaining: number canStartSimulation: boolean } const FREE_CONSEIL = "Commencez par une simulation d'Expression Écrite pour découvrir votre niveau. " + 'Le rapport détaillé et le suivi NCLC se débloquent avec le plan Standard.' export function DashboardFreeView({ displayName, simulationsUsed, simulationsRemaining, canStartSimulation, }: DashboardFreeViewProps) { const navigate = useNavigate() return (
{/* Header */}

Bonjour, {displayName}

Plan Découverte
{/* Hero NCLC — placeholder en Free */} {/* Stat cards — NCLC et dernier score vides */} {/* Prochaine étape + (pas de simulations récentes en Free) */}

Pour bien démarrer

Votre première simulation

Choisissez une tâche d'Expression Écrite pour obtenir un premier score et une estimation NCLC. Vos 5 simulations gratuites vous attendent.

{/* Bannière upsell */}
) }