import { useEffect, useState } from "react"; import { apiGet, type Alumno } from "./api"; import { useSession } from "./session"; export * from "./api"; export interface MiCurso { idCursos: number; nombreCurso: string; } /** Cursos con matrĂ­cula activa del alumno conectado. */ export function useMisCursos() { const { user } = useSession(); const [rows, setRows] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(""); useEffect(() => { if (!user) { setLoading(false); return; } setLoading(true); apiGet(`/alumnos?origen=${user.origen}&idAlumno=${encodeURIComponent(user.idAlumno)}`) .then((r: Alumno[]) => { setRows(r); setLoading(false); }) .catch((e: any) => { setError(e.message); setLoading(false); }); }, [user]); const cursos: MiCurso[] = [ ...new Map(rows.map((r) => [r.idCursos, { idCursos: r.idCursos, nombreCurso: r.nombreCurso }])).values() ]; return { cursos, rows, loading, error }; }