import { useEffect, useState } from "preact/hooks"; interface Student { id: number; firstName: string; lastName: string; email: string; promotion: string; } export default function ConsultStudents() { const [students, setStudents] = useState([]); const [error, setError] = useState(null); useEffect(() => { const fetchStudents = async () => { try { const response = await fetch("/mobility/api/insert_students"); if (!response.ok) { throw new Error(`Error fetching students: ${response.statusText}`); } const data: Student[] = await response.json(); setStudents(data); } catch (err) { console.error("Error fetching students:", err); setError("Failed to load students. Please try again later."); } }; fetchStudents(); }, []); return (

Consult Students

{error &&

{error}

} {students.length === 0 ?

No students found.

: ( {students.map((student) => ( ))}
ID First Name Last Name Email Promotion
{student.id} {student.firstName} {student.lastName} {student.email} {student.promotion}
)}
); }