import { useNavigate } from '@tanstack/react-router' import { useNuevaAsignaturaWizard } from './hooks/useNuevaAsignaturaWizard' import { PasoBasicosForm } from '@/components/asignaturas/wizard/PasoBasicosForm' import { PasoConfiguracionPanel } from '@/components/asignaturas/wizard/PasoConfiguracionPanel' import { PasoMetodoCardGroup } from '@/components/asignaturas/wizard/PasoMetodoCardGroup' import { PasoResumenCard } from '@/components/asignaturas/wizard/PasoResumenCard' import { VistaSinPermisos } from '@/components/asignaturas/wizard/VistaSinPermisos' import { WizardControls } from '@/components/asignaturas/wizard/WizardControls' import { WizardHeader } from '@/components/asignaturas/wizard/WizardHeader' import { defineStepper } from '@/components/stepper' import { Dialog, DialogContent } from '@/components/ui/dialog' const Wizard = defineStepper( { id: 'metodo', title: 'Método', description: 'Manual, IA o Clonado', }, { id: 'basicos', title: 'Datos básicos', description: 'Nombre y estructura', }, { id: 'configuracion', title: 'Configuración', description: 'Detalles según modo', }, { id: 'resumen', title: 'Resumen', description: 'Confirmar creación', }, ) const auth_get_current_user_role = () => 'JEFE_CARRERA' as const export function NuevaAsignaturaModalContainer({ planId }: { planId: string }) { const navigate = useNavigate() const role = auth_get_current_user_role() const { wizard, setWizard, canContinueDesdeMetodo, canContinueDesdeBasicos, canContinueDesdeConfig, simularGeneracionIA, crearAsignatura, } = useNuevaAsignaturaWizard(planId) const handleClose = () => { navigate({ to: `/planes/${planId}/asignaturas`, resetScroll: false }) } return ( !open && handleClose()}> e.preventDefault()} > {role !== 'JEFE_CARRERA' ? ( ) : ( {({ methods }) => ( <>
{Wizard.utils.getIndex(methods.current.id) === 0 && ( )} {Wizard.utils.getIndex(methods.current.id) === 1 && ( )} {Wizard.utils.getIndex(methods.current.id) === 2 && ( )} {Wizard.utils.getIndex(methods.current.id) === 3 && ( )}
crearAsignatura(handleClose)} /> )}
)}
) }