Profil de préparation
Repérez vos erreurs récurrentes et travaillez-les avec des exercices ciblés.
Impossible de charger votre profil de préparation. Réessayez dans quelques instants.
/** * Page /progression — Sprint 3.6c. * * Gating plan via `hasAccess(plan, 'pattern_analysis')` : * - Free + Standard → `BlurredProgression` (aperçu flouté + CTA upgrade) * - Premium → `ProgressionPremium` (NotReady ou contenu complet) * * Règle D : aucun `plan === 'xxx'` — tout passe par hasAccess(). * Règle L : tokens Direction H exclusivement. */ import { useNavigate } from 'react-router-dom' import { Card } from '@/shared/ui/Card' import { Button } from '@/shared/ui/Button' import { hasAccess } from '@/entities/user/lib' import { usePlan } from '@/features/dashboard/hooks/usePlan' import { usePatterns } from '../hooks/usePatterns' import { BlurredProgression } from '../components/BlurredProgression' import { ProgressionPremium } from '../components/ProgressionPremium' function Skeleton() { return (
Repérez vos erreurs récurrentes et travaillez-les avec des exercices ciblés.
Impossible de charger votre profil de préparation. Réessayez dans quelques instants.