Separación vista/lógica de wizard de creación de asignatura

This commit is contained in:
2026-01-05 14:22:39 -06:00
parent a65e34b41c
commit 04b8c45987
17 changed files with 1211 additions and 1086 deletions

View File

@@ -20,7 +20,7 @@ export function useNuevoPlanWizard() {
clonTradicional: {
archivoWordPlanId: null,
archivoMapaExcelId: null,
archivoMateriasExcelId: null,
archivoAsignaturasExcelId: null,
},
iaConfig: {
descripcionEnfoque: "",
@@ -62,7 +62,7 @@ export function useNuevoPlanWizard() {
if (!t) return false;
const tieneWord = !!t.archivoWordPlanId;
const tieneAlMenosUnExcel = !!t.archivoMapaExcelId ||
!!t.archivoMateriasExcelId;
!!t.archivoAsignaturasExcelId;
return tieneWord && tieneAlMenosUnExcel;
}
}
@@ -77,7 +77,7 @@ export function useNuevoPlanWizard() {
nivel: wizard.datosBasicos.nivel || "Licenciatura",
tipoCiclo: wizard.datosBasicos.tipoCiclo,
numCiclos: wizard.datosBasicos.numCiclos,
numMateriasAprox: wizard.datosBasicos.numCiclos * 6,
numAsignaturasAprox: wizard.datosBasicos.numCiclos * 6,
secciones: [
{ id: "obj", titulo: "Objetivos", resumen: "Borrador de objetivos…" },
{ id: "perfil", titulo: "Perfil de egreso", resumen: "Borrador…" },

View File

@@ -7,7 +7,7 @@ export type PlanPreview = {
nivel: string;
tipoCiclo: TipoCiclo;
numCiclos: number;
numMateriasAprox?: number;
numAsignaturasAprox?: number;
secciones?: Array<{ id: string; titulo: string; resumen: string }>;
};
@@ -27,7 +27,7 @@ export type NewPlanWizardState = {
clonTradicional?: {
archivoWordPlanId: string | null;
archivoMapaExcelId: string | null;
archivoMateriasExcelId: string | null;
archivoAsignaturasExcelId: string | null;
};
iaConfig?: {
descripcionEnfoque: string;