import { useNavigate } from '@tanstack/react-router' import * as Icons from 'lucide-react' 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 { WizardControls } from '@/components/asignaturas/wizard/WizardControls' import { defineStepper } from '@/components/stepper' import { Button } from '@/components/ui/button' import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from '@/components/ui/card' import { WizardLayout } from '@/components/wizard/WizardLayout' import { WizardResponsiveHeader } from '@/components/wizard/WizardResponsiveHeader' const auth_get_current_user_role = (): string => 'JEFE_CARRERA' const Wizard = defineStepper( { id: 'metodo', title: 'Método', description: 'Manual, IA o Clonado', }, { id: 'basicos', title: 'Datos básicos', description: 'Nombre y estructura', }, { id: 'detalles', title: 'Detalles', description: 'Detalles según modo', }, { id: 'resumen', title: 'Resumen', description: 'Confirmar creación', }, ) 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 }) } if (role !== 'JEFE_CARRERA') { return ( Sin permisos Solo el Jefe de Carrera puede crear asignaturas. ) } return ( {({ methods }) => { const idx = Wizard.utils.getIndex(methods.current.id) return ( } footerSlot={ crearAsignatura(handleClose)} /> } >
{idx === 0 && ( )} {idx === 1 && ( )} {idx === 2 && ( )} {idx === 3 && ( )}
) }}
) }