feat(simulations): router /sujets + SimulationFlowProvider wiring + useSimulation refacto
This commit is contained in:
parent
782439b309
commit
a6f95c2093
4 changed files with 87 additions and 116 deletions
|
|
@ -2,6 +2,7 @@
|
|||
* Page de simulation Expression Écrite.
|
||||
*
|
||||
* Orchestre les 3 étapes du flux : sélection de tâche → saisie du texte → rapport.
|
||||
* Le choix du sujet est désormais délégué à la page /sujets (refonte UX 2026-04-21).
|
||||
*
|
||||
* Règle D : quotas et permissions passent par canSimulate() — jamais de plan === '...'
|
||||
* Règle H : aucune logique métier — tout est dans useSimulation() et les entités.
|
||||
|
|
@ -60,12 +61,18 @@ export function SimulationPage() {
|
|||
reset,
|
||||
} = useSimulation()
|
||||
|
||||
// Catalogue des sujets pour le dropdown dans SujetDisplay.
|
||||
// EO_T1 n'a pas de catalogue (getSujets retourne [] — requête court-circuitée côté API).
|
||||
const {
|
||||
data: sujets,
|
||||
isLoading: isLoadingSujets,
|
||||
} = useSujets(production?.tache ?? 'EE_T1', !!production)
|
||||
// Catalogue passé à SimulationForm (dropdown hérité — refacto étape 3).
|
||||
const { data: sujets, isLoading: isLoadingSujets } = useSujets(
|
||||
production?.tache ?? 'EE_T1',
|
||||
!!production,
|
||||
)
|
||||
|
||||
// Redirige vers /sujets dès que la création aboutit pour une tâche avec catalogue.
|
||||
useEffect(() => {
|
||||
if (step === 'choosing-subject' && production) {
|
||||
navigate('/sujets')
|
||||
}
|
||||
}, [step, production, navigate])
|
||||
|
||||
useEffect(() => {
|
||||
if (step === 'done' && production) {
|
||||
|
|
@ -98,7 +105,7 @@ export function SimulationPage() {
|
|||
)}
|
||||
|
||||
{planData &&
|
||||
(step === 'choosing-subject' || step === 'task-selected' || step === 'correcting') &&
|
||||
(step === 'task-selected' || step === 'correcting') &&
|
||||
production && (
|
||||
<SimulationForm
|
||||
tache={production.tache}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue