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" + /> + +
+ +
+
+