feat: frontend alumnos sam-pruebas (RUT+clave, rendir y mis resultados)

This commit is contained in:
Nurfog committed 2026-09-28 10:58:45 -03:00
commit e6d283e184
26 files changed
+2555

No files matched your search

+40
View File
@@ -0,0 +1,40 @@
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<Alumno[]>([]);
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 };
}