diff --git a/src/routes/planes/$planId/_detalle/mapa.tsx b/src/routes/planes/$planId/_detalle/mapa.tsx
index 77502a1..cf6e3ad 100644
--- a/src/routes/planes/$planId/_detalle/mapa.tsx
+++ b/src/routes/planes/$planId/_detalle/mapa.tsx
@@ -59,7 +59,7 @@ const mapLineasToLineaCurricular = (
id: linea.id,
nombre: linea.nombre,
orden: linea.orden ?? 0,
- color: palette[index % palette.length],
+ color: linea.color ?? palette[index % palette.length],
}))
}
@@ -185,7 +185,7 @@ function AsignaturaCardItem({
onDragStart={(e) => onDragStart(e, asignatura.id)}
onClick={onClick}
className={[
- 'group relative h-50 w-40 shrink-0 overflow-hidden rounded-[22px] border text-left',
+ 'group bg-background relative h-50 w-40 shrink-0 overflow-hidden rounded-[22px] border text-left',
'transition-all duration-300 ease-out',
'focus-visible:ring-ring/30 focus-visible:ring-2 focus-visible:outline-none',
'cursor-grab active:cursor-grabbing',
@@ -194,26 +194,10 @@ function AsignaturaCardItem({
: 'hover:-translate-y-1 hover:shadow-lg',
].join(' ')}
style={{
- borderColor: hexToRgba(lineaColor, 0.18),
- background: `
- radial-gradient(circle at top right, ${hexToRgba(lineaColor, 0.22)} 0%, transparent 34%),
- linear-gradient(180deg, ${hexToRgba(lineaColor, 0.12)} 0%, ${hexToRgba(lineaColor, 0.04)} 42%, var(--card) 100%)
- `,
+ borderColor: lineaColor,
}}
title={asignatura.nombre}
>
- {/* franja */}
-
-
- {/* glow decorativo */}
-
-
{/* top */}
@@ -248,7 +232,7 @@ function AsignaturaCardItem({
{/* titulo */}
-
+
{/* */}
CR
@@ -272,7 +256,7 @@ function AsignaturaCardItem({
-
+
HD
@@ -282,7 +266,7 @@ function AsignaturaCardItem({
-
+
HI
@@ -382,7 +366,7 @@ function MapaCurricularPage() {
id: nueva.id,
nombre: nueva.nombre,
orden: nueva.orden,
- color: '#1976d2',
+ color: (nueva as any).color ?? '#1976d2',
}
setLineas((prev) => [...prev, mapeada])
setNombreNuevaLinea('')
@@ -390,6 +374,24 @@ function MapaCurricularPage() {
},
)
}
+
+ const cambiarColorLinea = (lineaId: string, nuevoColor: string) => {
+ setLineas((prev) =>
+ prev.map((l) => (l.id === lineaId ? { ...l, color: nuevoColor } : l)),
+ )
+
+ updateLineaApi(
+ {
+ lineaId,
+ patch: { color: nuevoColor },
+ },
+ {
+ onError: (err) => {
+ console.error('Error al actualizar color de linea:', err)
+ },
+ },
+ )
+ }
const guardarEdicionLinea = (id: string, nuevoNombre: string) => {
const nombreAFijar = nuevoNombre.trim()
@@ -721,7 +723,7 @@ function MapaCurricularPage() {
-
+
+
+
+
+
+ cambiarColorLinea(linea.id, e.target.value)
+ }
+ className="absolute inset-0 h-full w-full cursor-pointer opacity-0"
+ />
+
+
+
+
+
+