diff --git a/src/routes/planes2/$planId/MateriaCard.tsx b/src/routes/planes2/$planId/MateriaCard.tsx
new file mode 100644
index 0000000..03e9668
--- /dev/null
+++ b/src/routes/planes2/$planId/MateriaCard.tsx
@@ -0,0 +1,136 @@
+import * as Dialog from '@radix-ui/react-dialog';
+import { Pencil, X, Info } from 'lucide-react';
+export type Materia = {
+ id: string;
+ clave: string;
+ nombre: string;
+ creditos: number;
+ hd: number; // Horas Docente
+ hi: number; // Horas Independientes
+ tipo: 'Obligatoria' | 'Optativa' | 'Especialidad';
+ ciclo: number;
+ linea: string;
+};
+
+interface MateriaCardProps {
+ materia: Materia;
+}
+
+export function MateriaCard({ materia }: MateriaCardProps) {
+ return (
+
+ {/* Trigger: La tarjeta en sí misma */}
+
+
+ {/* Header de la tarjeta */}
+
+
{materia.clave}
+
+
+ {materia.tipo === 'Obligatoria' ? 'OB' : 'OP'}
+
+
+
+
+ {/* Nombre */}
+
+ {materia.nombre}
+
+
+ {/* Footer de la tarjeta (Créditos y Horas) */}
+
+
{materia.creditos} cr
+
+ HD:{materia.hd}
+ HI:{materia.hi}
+
+
+
+ {/* Overlay de Hover (Opcional: un iconito de editar) */}
+
+
+
+
+ {/* Modal / Portal */}
+
+
+
+
+
+ Editar Materia
+
+
+
+
+
+
+
+
+
+ );
+}
\ No newline at end of file
diff --git a/src/routes/planes2/$planId/mapa.tsx b/src/routes/planes2/$planId/mapa.tsx
index 81aac05..4b178fc 100644
--- a/src/routes/planes2/$planId/mapa.tsx
+++ b/src/routes/planes2/$planId/mapa.tsx
@@ -1,4 +1,5 @@
import { createFileRoute } from '@tanstack/react-router'
+import { MateriaCard } from './MateriaCard';
export const Route = createFileRoute('/planes2/$planId/mapa')({
component: MapaCurricular,
@@ -53,18 +54,9 @@ function MapaCurricular() {
className="p-2 border-r border-b border-slate-100 min-h-[120px] bg-white/50"
>
{/* Filtrar materias que pertenecen a esta posición */}
- {MATERIAS.filter(m => m.linea === linea && m.ciclo === numCiclo).map((materia, i) => (
-
-
{materia.nombre}
-
- {materia.creditos} CR
- ID: {i + 100}
-
-
- ))}
+ {MATERIAS.filter(m => m.linea === linea && m.ciclo === numCiclo).map((materia) => (
+
+ ))}
))}
>