diff --git a/src/data/query/keys.ts b/src/data/query/keys.ts
index 788da9f..ec61bbd 100644
--- a/src/data/query/keys.ts
+++ b/src/data/query/keys.ts
@@ -1,31 +1,33 @@
export const qk = {
- auth: ["auth"] as const,
- session: () => ["auth", "session"] as const,
- meProfile: () => ["auth", "meProfile"] as const,
+ auth: ['auth'] as const,
+ session: () => ['auth', 'session'] as const,
+ meProfile: () => ['auth', 'meProfile'] as const,
- facultades: () => ["meta", "facultades"] as const,
+ facultades: () => ['meta', 'facultades'] as const,
carreras: (facultadId?: string | null) =>
- ["meta", "carreras", { facultadId: facultadId ?? null }] as const,
+ ['meta', 'carreras', { facultadId: facultadId ?? null }] as const,
estructurasPlan: (nivel?: string | null) =>
- ["meta", "estructurasPlan", { nivel: nivel ?? null }] as const,
- estructurasAsignatura: () => ["meta", "estructurasAsignatura"] as const,
- estadosPlan: () => ["meta", "estadosPlan"] as const,
+ ['meta', 'estructurasPlan', { nivel: nivel ?? null }] as const,
+ estructurasAsignatura: () => ['meta', 'estructurasAsignatura'] as const,
+ estadosPlan: () => ['meta', 'estadosPlan'] as const,
- planesList: (filters: unknown) => ["planes", "list", filters] as const,
- plan: (planId: string) => ["planes", "detail", planId] as const,
- planLineas: (planId: string) => ["planes", planId, "lineas"] as const,
- planAsignaturas: (planId: string) => ["planes", planId, "asignaturas"] as const,
- planHistorial: (planId: string) => ["planes", planId, "historial"] as const,
- planDocumento: (planId: string) => ["planes", planId, "documento"] as const,
+ planesList: (filters: unknown) => ['planes', 'list', filters] as const,
+ plan: (planId: string) => ['planes', 'detail', planId] as const,
+ planLineas: (planId: string) => ['planes', planId, 'lineas'] as const,
+ planAsignaturas: (planId: string) =>
+ ['planes', planId, 'asignaturas'] as const,
+ planHistorial: (planId: string) => ['planes', planId, 'historial'] as const,
+ planDocumento: (planId: string) => ['planes', planId, 'documento'] as const,
- asignatura: (asignaturaId: string) => ["asignaturas", "detail", asignaturaId] as const,
+ asignatura: (asignaturaId: string) =>
+ ['asignaturas', 'detail', asignaturaId] as const,
asignaturaBibliografia: (asignaturaId: string) =>
- ["asignaturas", asignaturaId, "bibliografia"] as const,
+ ['asignaturas', asignaturaId, 'bibliografia'] as const,
asignaturaHistorial: (asignaturaId: string) =>
- ["asignaturas", asignaturaId, "historial"] as const,
+ ['asignaturas', asignaturaId, 'historial'] as const,
asignaturaDocumento: (asignaturaId: string) =>
- ["asignaturas", asignaturaId, "documento"] as const,
+ ['asignaturas', asignaturaId, 'documento'] as const,
- tareas: () => ["tareas", "mias"] as const,
- notificaciones: () => ["notificaciones", "mias"] as const,
-};
+ tareas: () => ['tareas', 'mias'] as const,
+ notificaciones: () => ['notificaciones', 'mias'] as const,
+}
diff --git a/src/features/asignaturas/nueva/NuevaAsignaturaModalContainer.tsx b/src/features/asignaturas/nueva/NuevaAsignaturaModalContainer.tsx
index ba66cb1..e7b9fe0 100644
--- a/src/features/asignaturas/nueva/NuevaAsignaturaModalContainer.tsx
+++ b/src/features/asignaturas/nueva/NuevaAsignaturaModalContainer.tsx
@@ -12,6 +12,8 @@ import { WizardHeader } from '@/components/asignaturas/wizard/WizardHeader'
import { defineStepper } from '@/components/stepper'
import { Dialog, DialogContent } from '@/components/ui/dialog'
+const auth_get_current_user_role = () => 'JEFE_CARRERA' as const
+
const Wizard = defineStepper(
{
id: 'metodo',
@@ -24,8 +26,8 @@ const Wizard = defineStepper(
description: 'Nombre y estructura',
},
{
- id: 'configuracion',
- title: 'Configuración',
+ id: 'detalles',
+ title: 'Detalles',
description: 'Detalles según modo',
},
{
@@ -35,8 +37,6 @@ const Wizard = defineStepper(
},
)
-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()
@@ -68,57 +68,69 @@ export function NuevaAsignaturaModalContainer({ planId }: { planId: string }) {
initialStep={Wizard.utils.getFirst().id}
className="flex h-full flex-col"
>
- {({ methods }) => (
- <>
-
+ {({ methods }) => {
+ const currentIndex = Wizard.utils.getIndex(methods.current.id) + 1
+ const totalSteps = Wizard.steps.length
+ const nextStep = Wizard.steps[currentIndex] ?? {
+ title: '',
+ description: '',
+ }
-
-
- {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 && (
-
-
-
- )}
+ return (
+ <>
+
+
+
+
+ {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)}
- />
- >
- )}
+ crearAsignatura(handleClose)}
+ />
+ >
+ )
+ }}
)}
diff --git a/src/routeTree.gen.ts b/src/routeTree.gen.ts
index b69c51b..664da6b 100644
--- a/src/routeTree.gen.ts
+++ b/src/routeTree.gen.ts
@@ -12,21 +12,19 @@ import { Route as rootRouteImport } from './routes/__root'
import { Route as LoginRouteImport } from './routes/login'
import { Route as DashboardRouteImport } from './routes/dashboard'
import { Route as IndexRouteImport } from './routes/index'
+import { Route as PlanesListaRouteImport } from './routes/planes/_lista'
import { Route as DemoTanstackQueryRouteImport } from './routes/demo/tanstack-query'
-import { Route as PlanesListaRouteRouteImport } from './routes/planes/_lista/route'
import { Route as PlanesListaNuevoRouteImport } from './routes/planes/_lista/nuevo'
-import { Route as PlanesPlanIdAsignaturasRouteRouteImport } from './routes/planes/$planId/asignaturas/route'
-import { Route as PlanesPlanIdDetalleRouteRouteImport } from './routes/planes/$planId/_detalle/route'
+import { Route as PlanesPlanIdDetalleRouteImport } from './routes/planes/$planId/_detalle'
import { Route as PlanesPlanIdDetalleIndexRouteImport } from './routes/planes/$planId/_detalle/index'
+import { Route as PlanesPlanIdAsignaturasAsignaturaIdRouteImport } from './routes/planes/$planId/asignaturas/$asignaturaId'
import { Route as PlanesPlanIdDetalleMapaRouteImport } from './routes/planes/$planId/_detalle/mapa'
import { Route as PlanesPlanIdDetalleIaplanRouteImport } from './routes/planes/$planId/_detalle/iaplan'
import { Route as PlanesPlanIdDetalleHistorialRouteImport } from './routes/planes/$planId/_detalle/historial'
import { Route as PlanesPlanIdDetalleFlujoRouteImport } from './routes/planes/$planId/_detalle/flujo'
import { Route as PlanesPlanIdDetalleDocumentoRouteImport } from './routes/planes/$planId/_detalle/documento'
-import { Route as PlanesPlanIdDetalleAsignaturasRouteImport } from './routes/planes/$planId/_detalle/asignaturas'
-import { Route as PlanesPlanIdAsignaturasListaRouteRouteImport } from './routes/planes/$planId/asignaturas/_lista/route'
-import { Route as PlanesPlanIdAsignaturasAsignaturaIdRouteRouteImport } from './routes/planes/$planId/asignaturas/$asignaturaId/route'
-import { Route as PlanesPlanIdAsignaturasListaNuevaRouteImport } from './routes/planes/$planId/asignaturas/_lista/nueva'
+import { Route as PlanesPlanIdDetalleAsignaturasIndexRouteImport } from './routes/planes/$planId/_detalle/asignaturas/index'
+import { Route as PlanesPlanIdDetalleAsignaturasNuevaRouteImport } from './routes/planes/$planId/_detalle/asignaturas/nueva'
const LoginRoute = LoginRouteImport.update({
id: '/login',
@@ -43,147 +41,133 @@ const IndexRoute = IndexRouteImport.update({
path: '/',
getParentRoute: () => rootRouteImport,
} as any)
+const PlanesListaRoute = PlanesListaRouteImport.update({
+ id: '/planes/_lista',
+ path: '/planes',
+ getParentRoute: () => rootRouteImport,
+} as any)
const DemoTanstackQueryRoute = DemoTanstackQueryRouteImport.update({
id: '/demo/tanstack-query',
path: '/demo/tanstack-query',
getParentRoute: () => rootRouteImport,
} as any)
-const PlanesListaRouteRoute = PlanesListaRouteRouteImport.update({
- id: '/planes/_lista',
- path: '/planes',
- getParentRoute: () => rootRouteImport,
-} as any)
const PlanesListaNuevoRoute = PlanesListaNuevoRouteImport.update({
id: '/nuevo',
path: '/nuevo',
- getParentRoute: () => PlanesListaRouteRoute,
+ getParentRoute: () => PlanesListaRoute,
+} as any)
+const PlanesPlanIdDetalleRoute = PlanesPlanIdDetalleRouteImport.update({
+ id: '/planes/$planId/_detalle',
+ path: '/planes/$planId',
+ getParentRoute: () => rootRouteImport,
} as any)
-const PlanesPlanIdAsignaturasRouteRoute =
- PlanesPlanIdAsignaturasRouteRouteImport.update({
- id: '/planes/$planId/asignaturas',
- path: '/planes/$planId/asignaturas',
- getParentRoute: () => rootRouteImport,
- } as any)
-const PlanesPlanIdDetalleRouteRoute =
- PlanesPlanIdDetalleRouteRouteImport.update({
- id: '/planes/$planId/_detalle',
- path: '/planes/$planId',
- getParentRoute: () => rootRouteImport,
- } as any)
const PlanesPlanIdDetalleIndexRoute =
PlanesPlanIdDetalleIndexRouteImport.update({
id: '/',
path: '/',
- getParentRoute: () => PlanesPlanIdDetalleRouteRoute,
+ getParentRoute: () => PlanesPlanIdDetalleRoute,
+ } as any)
+const PlanesPlanIdAsignaturasAsignaturaIdRoute =
+ PlanesPlanIdAsignaturasAsignaturaIdRouteImport.update({
+ id: '/planes/$planId/asignaturas/$asignaturaId',
+ path: '/planes/$planId/asignaturas/$asignaturaId',
+ getParentRoute: () => rootRouteImport,
} as any)
const PlanesPlanIdDetalleMapaRoute = PlanesPlanIdDetalleMapaRouteImport.update({
id: '/mapa',
path: '/mapa',
- getParentRoute: () => PlanesPlanIdDetalleRouteRoute,
+ getParentRoute: () => PlanesPlanIdDetalleRoute,
} as any)
const PlanesPlanIdDetalleIaplanRoute =
PlanesPlanIdDetalleIaplanRouteImport.update({
id: '/iaplan',
path: '/iaplan',
- getParentRoute: () => PlanesPlanIdDetalleRouteRoute,
+ getParentRoute: () => PlanesPlanIdDetalleRoute,
} as any)
const PlanesPlanIdDetalleHistorialRoute =
PlanesPlanIdDetalleHistorialRouteImport.update({
id: '/historial',
path: '/historial',
- getParentRoute: () => PlanesPlanIdDetalleRouteRoute,
+ getParentRoute: () => PlanesPlanIdDetalleRoute,
} as any)
const PlanesPlanIdDetalleFlujoRoute =
PlanesPlanIdDetalleFlujoRouteImport.update({
id: '/flujo',
path: '/flujo',
- getParentRoute: () => PlanesPlanIdDetalleRouteRoute,
+ getParentRoute: () => PlanesPlanIdDetalleRoute,
} as any)
const PlanesPlanIdDetalleDocumentoRoute =
PlanesPlanIdDetalleDocumentoRouteImport.update({
id: '/documento',
path: '/documento',
- getParentRoute: () => PlanesPlanIdDetalleRouteRoute,
+ getParentRoute: () => PlanesPlanIdDetalleRoute,
} as any)
-const PlanesPlanIdDetalleAsignaturasRoute =
- PlanesPlanIdDetalleAsignaturasRouteImport.update({
- id: '/asignaturas',
- path: '/asignaturas',
- getParentRoute: () => PlanesPlanIdDetalleRouteRoute,
+const PlanesPlanIdDetalleAsignaturasIndexRoute =
+ PlanesPlanIdDetalleAsignaturasIndexRouteImport.update({
+ id: '/asignaturas/',
+ path: '/asignaturas/',
+ getParentRoute: () => PlanesPlanIdDetalleRoute,
} as any)
-const PlanesPlanIdAsignaturasListaRouteRoute =
- PlanesPlanIdAsignaturasListaRouteRouteImport.update({
- id: '/_lista',
- getParentRoute: () => PlanesPlanIdAsignaturasRouteRoute,
- } as any)
-const PlanesPlanIdAsignaturasAsignaturaIdRouteRoute =
- PlanesPlanIdAsignaturasAsignaturaIdRouteRouteImport.update({
- id: '/$asignaturaId',
- path: '/$asignaturaId',
- getParentRoute: () => PlanesPlanIdAsignaturasRouteRoute,
- } as any)
-const PlanesPlanIdAsignaturasListaNuevaRoute =
- PlanesPlanIdAsignaturasListaNuevaRouteImport.update({
- id: '/nueva',
- path: '/nueva',
- getParentRoute: () => PlanesPlanIdAsignaturasListaRouteRoute,
+const PlanesPlanIdDetalleAsignaturasNuevaRoute =
+ PlanesPlanIdDetalleAsignaturasNuevaRouteImport.update({
+ id: '/asignaturas/nueva',
+ path: '/asignaturas/nueva',
+ getParentRoute: () => PlanesPlanIdDetalleRoute,
} as any)
export interface FileRoutesByFullPath {
'/': typeof IndexRoute
'/dashboard': typeof DashboardRoute
'/login': typeof LoginRoute
- '/planes': typeof PlanesListaRouteRouteWithChildren
'/demo/tanstack-query': typeof DemoTanstackQueryRoute
- '/planes/$planId': typeof PlanesPlanIdDetalleRouteRouteWithChildren
- '/planes/$planId/asignaturas': typeof PlanesPlanIdDetalleAsignaturasRoute
+ '/planes': typeof PlanesListaRouteWithChildren
+ '/planes/$planId': typeof PlanesPlanIdDetalleRouteWithChildren
'/planes/nuevo': typeof PlanesListaNuevoRoute
- '/planes/$planId/asignaturas/$asignaturaId': typeof PlanesPlanIdAsignaturasAsignaturaIdRouteRoute
'/planes/$planId/documento': typeof PlanesPlanIdDetalleDocumentoRoute
'/planes/$planId/flujo': typeof PlanesPlanIdDetalleFlujoRoute
'/planes/$planId/historial': typeof PlanesPlanIdDetalleHistorialRoute
'/planes/$planId/iaplan': typeof PlanesPlanIdDetalleIaplanRoute
'/planes/$planId/mapa': typeof PlanesPlanIdDetalleMapaRoute
+ '/planes/$planId/asignaturas/$asignaturaId': typeof PlanesPlanIdAsignaturasAsignaturaIdRoute
'/planes/$planId/': typeof PlanesPlanIdDetalleIndexRoute
- '/planes/$planId/asignaturas/nueva': typeof PlanesPlanIdAsignaturasListaNuevaRoute
+ '/planes/$planId/asignaturas/nueva': typeof PlanesPlanIdDetalleAsignaturasNuevaRoute
+ '/planes/$planId/asignaturas/': typeof PlanesPlanIdDetalleAsignaturasIndexRoute
}
export interface FileRoutesByTo {
'/': typeof IndexRoute
'/dashboard': typeof DashboardRoute
'/login': typeof LoginRoute
- '/planes': typeof PlanesListaRouteRouteWithChildren
'/demo/tanstack-query': typeof DemoTanstackQueryRoute
- '/planes/$planId/asignaturas': typeof PlanesPlanIdDetalleAsignaturasRoute
+ '/planes': typeof PlanesListaRouteWithChildren
'/planes/nuevo': typeof PlanesListaNuevoRoute
- '/planes/$planId/asignaturas/$asignaturaId': typeof PlanesPlanIdAsignaturasAsignaturaIdRouteRoute
'/planes/$planId/documento': typeof PlanesPlanIdDetalleDocumentoRoute
'/planes/$planId/flujo': typeof PlanesPlanIdDetalleFlujoRoute
'/planes/$planId/historial': typeof PlanesPlanIdDetalleHistorialRoute
'/planes/$planId/iaplan': typeof PlanesPlanIdDetalleIaplanRoute
'/planes/$planId/mapa': typeof PlanesPlanIdDetalleMapaRoute
+ '/planes/$planId/asignaturas/$asignaturaId': typeof PlanesPlanIdAsignaturasAsignaturaIdRoute
'/planes/$planId': typeof PlanesPlanIdDetalleIndexRoute
- '/planes/$planId/asignaturas/nueva': typeof PlanesPlanIdAsignaturasListaNuevaRoute
+ '/planes/$planId/asignaturas/nueva': typeof PlanesPlanIdDetalleAsignaturasNuevaRoute
+ '/planes/$planId/asignaturas': typeof PlanesPlanIdDetalleAsignaturasIndexRoute
}
export interface FileRoutesById {
__root__: typeof rootRouteImport
'/': typeof IndexRoute
'/dashboard': typeof DashboardRoute
'/login': typeof LoginRoute
- '/planes/_lista': typeof PlanesListaRouteRouteWithChildren
'/demo/tanstack-query': typeof DemoTanstackQueryRoute
- '/planes/$planId/_detalle': typeof PlanesPlanIdDetalleRouteRouteWithChildren
- '/planes/$planId/asignaturas': typeof PlanesPlanIdAsignaturasRouteRouteWithChildren
+ '/planes/_lista': typeof PlanesListaRouteWithChildren
+ '/planes/$planId/_detalle': typeof PlanesPlanIdDetalleRouteWithChildren
'/planes/_lista/nuevo': typeof PlanesListaNuevoRoute
- '/planes/$planId/asignaturas/$asignaturaId': typeof PlanesPlanIdAsignaturasAsignaturaIdRouteRoute
- '/planes/$planId/asignaturas/_lista': typeof PlanesPlanIdAsignaturasListaRouteRouteWithChildren
- '/planes/$planId/_detalle/asignaturas': typeof PlanesPlanIdDetalleAsignaturasRoute
'/planes/$planId/_detalle/documento': typeof PlanesPlanIdDetalleDocumentoRoute
'/planes/$planId/_detalle/flujo': typeof PlanesPlanIdDetalleFlujoRoute
'/planes/$planId/_detalle/historial': typeof PlanesPlanIdDetalleHistorialRoute
'/planes/$planId/_detalle/iaplan': typeof PlanesPlanIdDetalleIaplanRoute
'/planes/$planId/_detalle/mapa': typeof PlanesPlanIdDetalleMapaRoute
+ '/planes/$planId/asignaturas/$asignaturaId': typeof PlanesPlanIdAsignaturasAsignaturaIdRoute
'/planes/$planId/_detalle/': typeof PlanesPlanIdDetalleIndexRoute
- '/planes/$planId/asignaturas/_lista/nueva': typeof PlanesPlanIdAsignaturasListaNuevaRoute
+ '/planes/$planId/_detalle/asignaturas/nueva': typeof PlanesPlanIdDetalleAsignaturasNuevaRoute
+ '/planes/$planId/_detalle/asignaturas/': typeof PlanesPlanIdDetalleAsignaturasIndexRoute
}
export interface FileRouteTypes {
fileRoutesByFullPath: FileRoutesByFullPath
@@ -191,66 +175,64 @@ export interface FileRouteTypes {
| '/'
| '/dashboard'
| '/login'
- | '/planes'
| '/demo/tanstack-query'
+ | '/planes'
| '/planes/$planId'
- | '/planes/$planId/asignaturas'
| '/planes/nuevo'
- | '/planes/$planId/asignaturas/$asignaturaId'
| '/planes/$planId/documento'
| '/planes/$planId/flujo'
| '/planes/$planId/historial'
| '/planes/$planId/iaplan'
| '/planes/$planId/mapa'
+ | '/planes/$planId/asignaturas/$asignaturaId'
| '/planes/$planId/'
| '/planes/$planId/asignaturas/nueva'
+ | '/planes/$planId/asignaturas/'
fileRoutesByTo: FileRoutesByTo
to:
| '/'
| '/dashboard'
| '/login'
- | '/planes'
| '/demo/tanstack-query'
- | '/planes/$planId/asignaturas'
+ | '/planes'
| '/planes/nuevo'
- | '/planes/$planId/asignaturas/$asignaturaId'
| '/planes/$planId/documento'
| '/planes/$planId/flujo'
| '/planes/$planId/historial'
| '/planes/$planId/iaplan'
| '/planes/$planId/mapa'
+ | '/planes/$planId/asignaturas/$asignaturaId'
| '/planes/$planId'
| '/planes/$planId/asignaturas/nueva'
+ | '/planes/$planId/asignaturas'
id:
| '__root__'
| '/'
| '/dashboard'
| '/login'
- | '/planes/_lista'
| '/demo/tanstack-query'
+ | '/planes/_lista'
| '/planes/$planId/_detalle'
- | '/planes/$planId/asignaturas'
| '/planes/_lista/nuevo'
- | '/planes/$planId/asignaturas/$asignaturaId'
- | '/planes/$planId/asignaturas/_lista'
- | '/planes/$planId/_detalle/asignaturas'
| '/planes/$planId/_detalle/documento'
| '/planes/$planId/_detalle/flujo'
| '/planes/$planId/_detalle/historial'
| '/planes/$planId/_detalle/iaplan'
| '/planes/$planId/_detalle/mapa'
+ | '/planes/$planId/asignaturas/$asignaturaId'
| '/planes/$planId/_detalle/'
- | '/planes/$planId/asignaturas/_lista/nueva'
+ | '/planes/$planId/_detalle/asignaturas/nueva'
+ | '/planes/$planId/_detalle/asignaturas/'
fileRoutesById: FileRoutesById
}
export interface RootRouteChildren {
IndexRoute: typeof IndexRoute
DashboardRoute: typeof DashboardRoute
LoginRoute: typeof LoginRoute
- PlanesListaRouteRoute: typeof PlanesListaRouteRouteWithChildren
DemoTanstackQueryRoute: typeof DemoTanstackQueryRoute
- PlanesPlanIdDetalleRouteRoute: typeof PlanesPlanIdDetalleRouteRouteWithChildren
- PlanesPlanIdAsignaturasRouteRoute: typeof PlanesPlanIdAsignaturasRouteRouteWithChildren
+ PlanesListaRoute: typeof PlanesListaRouteWithChildren
+ PlanesPlanIdDetalleRoute: typeof PlanesPlanIdDetalleRouteWithChildren
+ PlanesPlanIdAsignaturasAsignaturaIdRoute: typeof PlanesPlanIdAsignaturasAsignaturaIdRoute
}
declare module '@tanstack/react-router' {
@@ -276,6 +258,13 @@ declare module '@tanstack/react-router' {
preLoaderRoute: typeof IndexRouteImport
parentRoute: typeof rootRouteImport
}
+ '/planes/_lista': {
+ id: '/planes/_lista'
+ path: '/planes'
+ fullPath: '/planes'
+ preLoaderRoute: typeof PlanesListaRouteImport
+ parentRoute: typeof rootRouteImport
+ }
'/demo/tanstack-query': {
id: '/demo/tanstack-query'
path: '/demo/tanstack-query'
@@ -283,32 +272,18 @@ declare module '@tanstack/react-router' {
preLoaderRoute: typeof DemoTanstackQueryRouteImport
parentRoute: typeof rootRouteImport
}
- '/planes/_lista': {
- id: '/planes/_lista'
- path: '/planes'
- fullPath: '/planes'
- preLoaderRoute: typeof PlanesListaRouteRouteImport
- parentRoute: typeof rootRouteImport
- }
'/planes/_lista/nuevo': {
id: '/planes/_lista/nuevo'
path: '/nuevo'
fullPath: '/planes/nuevo'
preLoaderRoute: typeof PlanesListaNuevoRouteImport
- parentRoute: typeof PlanesListaRouteRoute
- }
- '/planes/$planId/asignaturas': {
- id: '/planes/$planId/asignaturas'
- path: '/planes/$planId/asignaturas'
- fullPath: '/planes/$planId/asignaturas'
- preLoaderRoute: typeof PlanesPlanIdAsignaturasRouteRouteImport
- parentRoute: typeof rootRouteImport
+ parentRoute: typeof PlanesListaRoute
}
'/planes/$planId/_detalle': {
id: '/planes/$planId/_detalle'
path: '/planes/$planId'
fullPath: '/planes/$planId'
- preLoaderRoute: typeof PlanesPlanIdDetalleRouteRouteImport
+ preLoaderRoute: typeof PlanesPlanIdDetalleRouteImport
parentRoute: typeof rootRouteImport
}
'/planes/$planId/_detalle/': {
@@ -316,153 +291,115 @@ declare module '@tanstack/react-router' {
path: '/'
fullPath: '/planes/$planId/'
preLoaderRoute: typeof PlanesPlanIdDetalleIndexRouteImport
- parentRoute: typeof PlanesPlanIdDetalleRouteRoute
+ parentRoute: typeof PlanesPlanIdDetalleRoute
+ }
+ '/planes/$planId/asignaturas/$asignaturaId': {
+ id: '/planes/$planId/asignaturas/$asignaturaId'
+ path: '/planes/$planId/asignaturas/$asignaturaId'
+ fullPath: '/planes/$planId/asignaturas/$asignaturaId'
+ preLoaderRoute: typeof PlanesPlanIdAsignaturasAsignaturaIdRouteImport
+ parentRoute: typeof rootRouteImport
}
'/planes/$planId/_detalle/mapa': {
id: '/planes/$planId/_detalle/mapa'
path: '/mapa'
fullPath: '/planes/$planId/mapa'
preLoaderRoute: typeof PlanesPlanIdDetalleMapaRouteImport
- parentRoute: typeof PlanesPlanIdDetalleRouteRoute
+ parentRoute: typeof PlanesPlanIdDetalleRoute
}
'/planes/$planId/_detalle/iaplan': {
id: '/planes/$planId/_detalle/iaplan'
path: '/iaplan'
fullPath: '/planes/$planId/iaplan'
preLoaderRoute: typeof PlanesPlanIdDetalleIaplanRouteImport
- parentRoute: typeof PlanesPlanIdDetalleRouteRoute
+ parentRoute: typeof PlanesPlanIdDetalleRoute
}
'/planes/$planId/_detalle/historial': {
id: '/planes/$planId/_detalle/historial'
path: '/historial'
fullPath: '/planes/$planId/historial'
preLoaderRoute: typeof PlanesPlanIdDetalleHistorialRouteImport
- parentRoute: typeof PlanesPlanIdDetalleRouteRoute
+ parentRoute: typeof PlanesPlanIdDetalleRoute
}
'/planes/$planId/_detalle/flujo': {
id: '/planes/$planId/_detalle/flujo'
path: '/flujo'
fullPath: '/planes/$planId/flujo'
preLoaderRoute: typeof PlanesPlanIdDetalleFlujoRouteImport
- parentRoute: typeof PlanesPlanIdDetalleRouteRoute
+ parentRoute: typeof PlanesPlanIdDetalleRoute
}
'/planes/$planId/_detalle/documento': {
id: '/planes/$planId/_detalle/documento'
path: '/documento'
fullPath: '/planes/$planId/documento'
preLoaderRoute: typeof PlanesPlanIdDetalleDocumentoRouteImport
- parentRoute: typeof PlanesPlanIdDetalleRouteRoute
+ parentRoute: typeof PlanesPlanIdDetalleRoute
}
- '/planes/$planId/_detalle/asignaturas': {
- id: '/planes/$planId/_detalle/asignaturas'
+ '/planes/$planId/_detalle/asignaturas/': {
+ id: '/planes/$planId/_detalle/asignaturas/'
path: '/asignaturas'
- fullPath: '/planes/$planId/asignaturas'
- preLoaderRoute: typeof PlanesPlanIdDetalleAsignaturasRouteImport
- parentRoute: typeof PlanesPlanIdDetalleRouteRoute
+ fullPath: '/planes/$planId/asignaturas/'
+ preLoaderRoute: typeof PlanesPlanIdDetalleAsignaturasIndexRouteImport
+ parentRoute: typeof PlanesPlanIdDetalleRoute
}
- '/planes/$planId/asignaturas/_lista': {
- id: '/planes/$planId/asignaturas/_lista'
- path: ''
- fullPath: '/planes/$planId/asignaturas'
- preLoaderRoute: typeof PlanesPlanIdAsignaturasListaRouteRouteImport
- parentRoute: typeof PlanesPlanIdAsignaturasRouteRoute
- }
- '/planes/$planId/asignaturas/$asignaturaId': {
- id: '/planes/$planId/asignaturas/$asignaturaId'
- path: '/$asignaturaId'
- fullPath: '/planes/$planId/asignaturas/$asignaturaId'
- preLoaderRoute: typeof PlanesPlanIdAsignaturasAsignaturaIdRouteRouteImport
- parentRoute: typeof PlanesPlanIdAsignaturasRouteRoute
- }
- '/planes/$planId/asignaturas/_lista/nueva': {
- id: '/planes/$planId/asignaturas/_lista/nueva'
- path: '/nueva'
+ '/planes/$planId/_detalle/asignaturas/nueva': {
+ id: '/planes/$planId/_detalle/asignaturas/nueva'
+ path: '/asignaturas/nueva'
fullPath: '/planes/$planId/asignaturas/nueva'
- preLoaderRoute: typeof PlanesPlanIdAsignaturasListaNuevaRouteImport
- parentRoute: typeof PlanesPlanIdAsignaturasListaRouteRoute
+ preLoaderRoute: typeof PlanesPlanIdDetalleAsignaturasNuevaRouteImport
+ parentRoute: typeof PlanesPlanIdDetalleRoute
}
}
}
-interface PlanesListaRouteRouteChildren {
+interface PlanesListaRouteChildren {
PlanesListaNuevoRoute: typeof PlanesListaNuevoRoute
}
-const PlanesListaRouteRouteChildren: PlanesListaRouteRouteChildren = {
+const PlanesListaRouteChildren: PlanesListaRouteChildren = {
PlanesListaNuevoRoute: PlanesListaNuevoRoute,
}
-const PlanesListaRouteRouteWithChildren =
- PlanesListaRouteRoute._addFileChildren(PlanesListaRouteRouteChildren)
+const PlanesListaRouteWithChildren = PlanesListaRoute._addFileChildren(
+ PlanesListaRouteChildren,
+)
-interface PlanesPlanIdDetalleRouteRouteChildren {
- PlanesPlanIdDetalleAsignaturasRoute: typeof PlanesPlanIdDetalleAsignaturasRoute
+interface PlanesPlanIdDetalleRouteChildren {
PlanesPlanIdDetalleDocumentoRoute: typeof PlanesPlanIdDetalleDocumentoRoute
PlanesPlanIdDetalleFlujoRoute: typeof PlanesPlanIdDetalleFlujoRoute
PlanesPlanIdDetalleHistorialRoute: typeof PlanesPlanIdDetalleHistorialRoute
PlanesPlanIdDetalleIaplanRoute: typeof PlanesPlanIdDetalleIaplanRoute
PlanesPlanIdDetalleMapaRoute: typeof PlanesPlanIdDetalleMapaRoute
PlanesPlanIdDetalleIndexRoute: typeof PlanesPlanIdDetalleIndexRoute
+ PlanesPlanIdDetalleAsignaturasNuevaRoute: typeof PlanesPlanIdDetalleAsignaturasNuevaRoute
+ PlanesPlanIdDetalleAsignaturasIndexRoute: typeof PlanesPlanIdDetalleAsignaturasIndexRoute
}
-const PlanesPlanIdDetalleRouteRouteChildren: PlanesPlanIdDetalleRouteRouteChildren =
- {
- PlanesPlanIdDetalleAsignaturasRoute: PlanesPlanIdDetalleAsignaturasRoute,
- PlanesPlanIdDetalleDocumentoRoute: PlanesPlanIdDetalleDocumentoRoute,
- PlanesPlanIdDetalleFlujoRoute: PlanesPlanIdDetalleFlujoRoute,
- PlanesPlanIdDetalleHistorialRoute: PlanesPlanIdDetalleHistorialRoute,
- PlanesPlanIdDetalleIaplanRoute: PlanesPlanIdDetalleIaplanRoute,
- PlanesPlanIdDetalleMapaRoute: PlanesPlanIdDetalleMapaRoute,
- PlanesPlanIdDetalleIndexRoute: PlanesPlanIdDetalleIndexRoute,
- }
-
-const PlanesPlanIdDetalleRouteRouteWithChildren =
- PlanesPlanIdDetalleRouteRoute._addFileChildren(
- PlanesPlanIdDetalleRouteRouteChildren,
- )
-
-interface PlanesPlanIdAsignaturasListaRouteRouteChildren {
- PlanesPlanIdAsignaturasListaNuevaRoute: typeof PlanesPlanIdAsignaturasListaNuevaRoute
+const PlanesPlanIdDetalleRouteChildren: PlanesPlanIdDetalleRouteChildren = {
+ PlanesPlanIdDetalleDocumentoRoute: PlanesPlanIdDetalleDocumentoRoute,
+ PlanesPlanIdDetalleFlujoRoute: PlanesPlanIdDetalleFlujoRoute,
+ PlanesPlanIdDetalleHistorialRoute: PlanesPlanIdDetalleHistorialRoute,
+ PlanesPlanIdDetalleIaplanRoute: PlanesPlanIdDetalleIaplanRoute,
+ PlanesPlanIdDetalleMapaRoute: PlanesPlanIdDetalleMapaRoute,
+ PlanesPlanIdDetalleIndexRoute: PlanesPlanIdDetalleIndexRoute,
+ PlanesPlanIdDetalleAsignaturasNuevaRoute:
+ PlanesPlanIdDetalleAsignaturasNuevaRoute,
+ PlanesPlanIdDetalleAsignaturasIndexRoute:
+ PlanesPlanIdDetalleAsignaturasIndexRoute,
}
-const PlanesPlanIdAsignaturasListaRouteRouteChildren: PlanesPlanIdAsignaturasListaRouteRouteChildren =
- {
- PlanesPlanIdAsignaturasListaNuevaRoute:
- PlanesPlanIdAsignaturasListaNuevaRoute,
- }
-
-const PlanesPlanIdAsignaturasListaRouteRouteWithChildren =
- PlanesPlanIdAsignaturasListaRouteRoute._addFileChildren(
- PlanesPlanIdAsignaturasListaRouteRouteChildren,
- )
-
-interface PlanesPlanIdAsignaturasRouteRouteChildren {
- PlanesPlanIdAsignaturasAsignaturaIdRouteRoute: typeof PlanesPlanIdAsignaturasAsignaturaIdRouteRoute
- PlanesPlanIdAsignaturasListaRouteRoute: typeof PlanesPlanIdAsignaturasListaRouteRouteWithChildren
-}
-
-const PlanesPlanIdAsignaturasRouteRouteChildren: PlanesPlanIdAsignaturasRouteRouteChildren =
- {
- PlanesPlanIdAsignaturasAsignaturaIdRouteRoute:
- PlanesPlanIdAsignaturasAsignaturaIdRouteRoute,
- PlanesPlanIdAsignaturasListaRouteRoute:
- PlanesPlanIdAsignaturasListaRouteRouteWithChildren,
- }
-
-const PlanesPlanIdAsignaturasRouteRouteWithChildren =
- PlanesPlanIdAsignaturasRouteRoute._addFileChildren(
- PlanesPlanIdAsignaturasRouteRouteChildren,
- )
+const PlanesPlanIdDetalleRouteWithChildren =
+ PlanesPlanIdDetalleRoute._addFileChildren(PlanesPlanIdDetalleRouteChildren)
const rootRouteChildren: RootRouteChildren = {
IndexRoute: IndexRoute,
DashboardRoute: DashboardRoute,
LoginRoute: LoginRoute,
- PlanesListaRouteRoute: PlanesListaRouteRouteWithChildren,
DemoTanstackQueryRoute: DemoTanstackQueryRoute,
- PlanesPlanIdDetalleRouteRoute: PlanesPlanIdDetalleRouteRouteWithChildren,
- PlanesPlanIdAsignaturasRouteRoute:
- PlanesPlanIdAsignaturasRouteRouteWithChildren,
+ PlanesListaRoute: PlanesListaRouteWithChildren,
+ PlanesPlanIdDetalleRoute: PlanesPlanIdDetalleRouteWithChildren,
+ PlanesPlanIdAsignaturasAsignaturaIdRoute:
+ PlanesPlanIdAsignaturasAsignaturaIdRoute,
}
export const routeTree = rootRouteImport
._addFileChildren(rootRouteChildren)
diff --git a/src/routes/planes/$planId/_detalle/route.tsx b/src/routes/planes/$planId/_detalle.tsx
similarity index 99%
rename from src/routes/planes/$planId/_detalle/route.tsx
rename to src/routes/planes/$planId/_detalle.tsx
index bd774ee..372909e 100644
--- a/src/routes/planes/$planId/_detalle/route.tsx
+++ b/src/routes/planes/$planId/_detalle.tsx
@@ -35,6 +35,8 @@ export const Route = createFileRoute('/planes/$planId/_detalle')({
} catch (e: any) {
// PGRST116: The result contains 0 rows
if (e?.code === 'PGRST116') {
+ console.log('not found on', Route.path)
+
throw notFound()
}
throw e
diff --git a/src/routes/planes/$planId/_detalle/asignaturas.tsx b/src/routes/planes/$planId/_detalle/asignaturas/index.tsx
similarity index 95%
rename from src/routes/planes/$planId/_detalle/asignaturas.tsx
rename to src/routes/planes/$planId/_detalle/asignaturas/index.tsx
index 0128351..d2fbc59 100644
--- a/src/routes/planes/$planId/_detalle/asignaturas.tsx
+++ b/src/routes/planes/$planId/_detalle/asignaturas/index.tsx
@@ -131,7 +131,17 @@ function AsignaturasPage() {
-
diff --git a/src/routes/planes/$planId/asignaturas/_lista/nueva.tsx b/src/routes/planes/$planId/_detalle/asignaturas/nueva.tsx
similarity index 80%
rename from src/routes/planes/$planId/asignaturas/_lista/nueva.tsx
rename to src/routes/planes/$planId/_detalle/asignaturas/nueva.tsx
index e5c797b..51dedb2 100644
--- a/src/routes/planes/$planId/asignaturas/_lista/nueva.tsx
+++ b/src/routes/planes/$planId/_detalle/asignaturas/nueva.tsx
@@ -3,12 +3,13 @@ import { createFileRoute } from '@tanstack/react-router'
import { NuevaAsignaturaModalContainer } from '@/features/asignaturas/nueva/NuevaAsignaturaModalContainer'
export const Route = createFileRoute(
- '/planes/$planId/asignaturas/_lista/nueva',
+ '/planes/$planId/_detalle/asignaturas/nueva',
)({
component: NuevaAsignaturaModal,
})
function NuevaAsignaturaModal() {
const { planId } = Route.useParams()
+ console.log('planId desde nueva', planId)
return
}
diff --git a/src/routes/planes/$planId/asignaturas/$asignaturaId.tsx b/src/routes/planes/$planId/asignaturas/$asignaturaId.tsx
new file mode 100644
index 0000000..6a9a5d6
--- /dev/null
+++ b/src/routes/planes/$planId/asignaturas/$asignaturaId.tsx
@@ -0,0 +1,44 @@
+import { createFileRoute, notFound } from '@tanstack/react-router'
+
+import MateriaDetailPage from '@/components/asignaturas/detalle/MateriaDetailPage'
+import { NotFoundPage } from '@/components/ui/NotFoundPage'
+import { subjects_get } from '@/data/api/subjects.api'
+import { qk } from '@/data/query/keys'
+
+export const Route = createFileRoute(
+ '/planes/$planId/asignaturas/$asignaturaId',
+)({
+ loader: async ({ context: { queryClient }, params: { asignaturaId } }) => {
+ try {
+ await queryClient.ensureQueryData({
+ queryKey: qk.asignatura(asignaturaId),
+ queryFn: () => subjects_get(asignaturaId),
+ })
+ } catch (e: any) {
+ // PGRST116: The result contains 0 rows (Supabase Single response error)
+ if (e?.code === 'PGRST116') {
+ throw notFound()
+ }
+ throw e
+ }
+ },
+ notFoundComponent: () => {
+ return (
+
+ )
+ },
+ component: RouteComponent,
+})
+
+function RouteComponent() {
+ // const { planId, asignaturaId } = Route.useParams()
+
+ return (
+
+
+
+ )
+}
diff --git a/src/routes/planes/$planId/asignaturas/$asignaturaId/route.tsx b/src/routes/planes/$planId/asignaturas/$asignaturaId/route.tsx
deleted file mode 100644
index cc36bf7..0000000
--- a/src/routes/planes/$planId/asignaturas/$asignaturaId/route.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import AsignaturaDetailPage from '@/components/asignaturas/detalle/AsignaturaDetailPage'
-import { createFileRoute } from '@tanstack/react-router'
-
-export const Route = createFileRoute(
- '/planes/$planId/asignaturas/$asignaturaId',
-)({
- component: RouteComponent,
-})
-
-function RouteComponent() {
- //const { planId, asignaturaId } = Route.useParams()
-
- return (
-
- )
-}
diff --git a/src/routes/planes/$planId/asignaturas/_lista/route.tsx b/src/routes/planes/$planId/asignaturas/_lista/route.tsx
deleted file mode 100644
index 980020f..0000000
--- a/src/routes/planes/$planId/asignaturas/_lista/route.tsx
+++ /dev/null
@@ -1,16 +0,0 @@
-import { createFileRoute, Outlet } from '@tanstack/react-router'
-
-export const Route = createFileRoute('/planes/$planId/asignaturas/_lista')({
- component: RouteComponent,
-})
-
-function RouteComponent() {
- return (
-
-
-
Asignaturas
-
-
-
- )
-}
diff --git a/src/routes/planes/$planId/asignaturas/route.tsx b/src/routes/planes/$planId/asignaturas/route.tsx
deleted file mode 100644
index 88a1ef2..0000000
--- a/src/routes/planes/$planId/asignaturas/route.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-import { createFileRoute, Outlet, notFound } from '@tanstack/react-router'
-
-import { NotFoundPage } from '@/components/ui/NotFoundPage'
-import { plans_get } from '@/data/api/plans.api'
-import { qk } from '@/data/query/keys'
-
-export const Route = createFileRoute('/planes/$planId/asignaturas')({
- loader: async ({ context: { queryClient }, params: { planId } }) => {
- try {
- await queryClient.ensureQueryData({
- queryKey: qk.plan(planId),
- queryFn: () => plans_get(planId),
- })
- } catch (e: any) {
- if (e?.code === 'PGRST116') {
- throw notFound()
- }
- throw e
- }
- },
- notFoundComponent: () => {
- return (
-
- )
- },
- component: AsignaturasLayout,
-})
-
-function AsignaturasLayout() {
- return
-}
diff --git a/src/routes/planes/_lista/route.tsx b/src/routes/planes/_lista.tsx
similarity index 98%
rename from src/routes/planes/_lista/route.tsx
rename to src/routes/planes/_lista.tsx
index 944f6ac..f58283c 100644
--- a/src/routes/planes/_lista/route.tsx
+++ b/src/routes/planes/_lista.tsx
@@ -125,7 +125,11 @@ function RouteComponent() {
navigate({ to: '/planes/nuevo' })}
+ onClick={() => {
+ console.log('planId')
+
+ navigate({ to: '/planes/nuevo', resetScroll: false })
+ }}
className="ring-offset-background bg-primary text-primary-foreground hover:bg-primary/90 inline-flex h-11 items-center justify-center gap-2 rounded-md px-8 text-sm font-medium shadow-md transition-colors"
>
Nuevo plan de estudios