Files
front-AT/app/Components/QuitarSancion/QuitarSancion.tsx
T

56 lines
1.4 KiB
TypeScript
Raw Normal View History

"use client";
import { envConfig } from "@/app/lib/config";
import { useEffect, useState } from "react";
import TableSanction from "../BitacoraSanciones/TableSanction";
2026-02-16 19:22:34 -06:00
import { Alumno, AlumnoSancion } from "@/app/types/sanction";
import axios from "axios";
function QuitarSancion({ id_cuenta }: { id_cuenta: number }) {
const [alumno, setAlumno] = useState<Alumno>();
const [alumnoSanciones, setAlumnoSanciones] = useState<AlumnoSancion[]>([]);
2026-02-17 17:14:27 -06:00
const fetchAlumnoSanciones = async () => {
try {
const res = await axios.get(
`${envConfig.apiUrl}/alumno-sancion/${id_cuenta}`
);
setAlumno(res.data.student ?? null);
setAlumnoSanciones(res.data.alusancion ?? []);
} catch {
}
};
2025-10-09 17:14:53 -06:00
useEffect(() => {
if (!id_cuenta) return;
2026-02-17 17:14:27 -06:00
fetchAlumnoSanciones();
}, [id_cuenta]);
2026-02-17 17:14:27 -06:00
const handleButton = async (e: React.MouseEvent<HTMLButtonElement>) => {
e.preventDefault();
2025-10-09 17:14:53 -06:00
2026-02-17 17:14:27 -06:00
await axios.delete(`${envConfig.apiUrl}/alumno-sancion/${id_cuenta}`)
2026-02-17 17:27:53 -06:00
setAlumnoSanciones([])
}
2025-10-09 17:14:53 -06:00
2025-09-22 16:53:34 -06:00
return (
<section className="containerSection">
2026-02-19 17:52:17 -06:00
<TableSanction alumnoSanciones={alumnoSanciones} alumno={alumno} />
2026-02-16 18:47:54 -06:00
{(alumnoSanciones?.length > 0) &&
<button
className="button buttonSearch"
style={{ margin: "1rem 0" }}
onClick={handleButton}
>
Quitar sancion
</button>
}
2025-09-22 16:53:34 -06:00
</section>
);
}
export default QuitarSancion;