+
{children}
diff --git a/src/data/api/plans.api.ts b/src/data/api/plans.api.ts
index f9daed5..93dfcef 100644
--- a/src/data/api/plans.api.ts
+++ b/src/data/api/plans.api.ts
@@ -221,7 +221,9 @@ export async function plan_lineas_list(
const supabase = supabaseBrowser()
const { data, error } = await supabase
.from('lineas_plan')
- .select('id,plan_estudio_id,nombre,orden,area,creado_en,actualizado_en')
+ .select(
+ 'id,plan_estudio_id,nombre,orden,area,creado_en,actualizado_en,color',
+ )
.eq('plan_estudio_id', planId)
.order('orden', { ascending: true })
diff --git a/src/data/api/subjects.api.ts b/src/data/api/subjects.api.ts
index 08cd8b8..303b047 100644
--- a/src/data/api/subjects.api.ts
+++ b/src/data/api/subjects.api.ts
@@ -499,6 +499,7 @@ export async function lineas_insert(linea: {
plan_estudio_id: string
orden: number
area?: string
+ color?: string | null
}) {
const supabase = supabaseBrowser()
const { data, error } = await supabase
@@ -514,7 +515,12 @@ export async function lineas_insert(linea: {
// Actualizar una línea existente
export async function lineas_update(
lineaId: string,
- patch: { nombre?: string; orden?: number; area?: string },
+ patch: {
+ nombre?: string
+ orden?: number
+ area?: string
+ color?: string | null
+ },
) {
const supabase = supabaseBrowser()
const { data, error } = await supabase
diff --git a/src/routes/dashboard.tsx b/src/routes/dashboard.tsx
index 2dc7df5..7f70a9e 100644
--- a/src/routes/dashboard.tsx
+++ b/src/routes/dashboard.tsx
@@ -30,7 +30,7 @@ function RouteComponent() {
4. px-4 md:px-6: Padding RESPONSIVO interno (seguro para móviles y desktop).
5. py-6: Padding vertical (opcional, para separarse del header).
*/}
-
+
-
+
{/* 2. Header del Plan */}
{isLoading ? (
/* ===== SKELETON ===== */
diff --git a/src/routes/planes/$planId/_detalle/asignaturas.tsx b/src/routes/planes/$planId/_detalle/asignaturas.tsx
index 8de9d88..cd0ef8a 100644
--- a/src/routes/planes/$planId/_detalle/asignaturas.tsx
+++ b/src/routes/planes/$planId/_detalle/asignaturas.tsx
@@ -129,7 +129,7 @@ function AsignaturasPage() {
}
return (
-
+
{/* Header */}
diff --git a/src/routes/planes/$planId/_detalle/documento.tsx b/src/routes/planes/$planId/_detalle/documento.tsx
index 2c2bdbf..2e1cd47 100644
--- a/src/routes/planes/$planId/_detalle/documento.tsx
+++ b/src/routes/planes/$planId/_detalle/documento.tsx
@@ -102,7 +102,7 @@ function RouteComponent() {
}
}
return (
-
+
{/* HEADER DE ACCIONES */}
diff --git a/src/routes/planes/$planId/_detalle/flujo.tsx b/src/routes/planes/$planId/_detalle/flujo.tsx
index eb3ba17..61d6272 100644
--- a/src/routes/planes/$planId/_detalle/flujo.tsx
+++ b/src/routes/planes/$planId/_detalle/flujo.tsx
@@ -18,7 +18,7 @@ function RouteComponent() {
console.log(rawData)
return (
-
+
{/* Header Informativo (Opcional, si no viene del layout padre) */}
diff --git a/src/routes/planes/$planId/_detalle/historial.tsx b/src/routes/planes/$planId/_detalle/historial.tsx
index 51c3b30..345b8c6 100644
--- a/src/routes/planes/$planId/_detalle/historial.tsx
+++ b/src/routes/planes/$planId/_detalle/historial.tsx
@@ -125,7 +125,7 @@ function RouteComponent() {
)
return (
-
+
diff --git a/src/routes/planes/$planId/_detalle/iaplan.tsx b/src/routes/planes/$planId/_detalle/iaplan.tsx
index 2329252..ffaee91 100644
--- a/src/routes/planes/$planId/_detalle/iaplan.tsx
+++ b/src/routes/planes/$planId/_detalle/iaplan.tsx
@@ -581,7 +581,7 @@ function RouteComponent() {
}
return (
-
+
{/* --- HEADER MÓVIL (Solo visible en < md) --- */}