feat: Champ de recherche de l'élève [#16]

This commit is contained in:
N3WT DE COMPET
2025-05-20 20:22:58 +02:00
parent 56c223f3cc
commit eb7805e54e
7 changed files with 181 additions and 6 deletions

View File

@ -16,9 +16,11 @@ import { useRouter } from 'next/navigation';
import {
fetchStudents,
fetchStudentCompetencies,
searchStudents,
} from '@/app/actions/subscriptionAction';
import { useEstablishment } from '@/context/EstablishmentContext';
import { useClasses } from '@/context/ClassesContext';
import StudentInput from '@/components/Grades/StudentInput';
export default function Page() {
const router = useRouter();
@ -147,7 +149,19 @@ export default function Page() {
<h2 className="text-xl font-semibold mb-4">Sélectionner un élève</h2>
<div className="flex flex-col sm:flex-row sm:items-end gap-4">
<div className="flex-1">
<SelectChoice
<StudentInput
label="Recherche élève"
selectedStudent={
students.find((s) => s.id === formData.selectedStudent) || null
}
setSelectedStudent={(student) =>
handleChange('selectedStudent', student?.id || '')
}
searchStudents={searchStudents}
establishmentId={selectedEstablishmentId}
required
/>
{/* <SelectChoice
name="selectedStudent"
label="Élève"
placeHolder="Sélectionnez un élève"
@ -155,10 +169,12 @@ export default function Page() {
callback={(e) => handleChange('selectedStudent', e.target.value)}
choices={students.map((student) => ({
value: student.id,
label: `${student.last_name} ${student.first_name} - ${getNiveauLabel(student.level)} (${student.associated_class_name})`,
label: `${student.last_name} ${student.first_name} - ${getNiveauLabel(
student.level
)} (${student.associated_class_name})`,
}))}
required
/>
/> */}
</div>
<Button
text="Réaliser le bilan de compétences"