'use client'; import React, { useState, useEffect } from 'react'; import { Plus, Users, Layers } from 'lucide-react'; import Table from '@/components/Table'; import MultiSelect from '@/components/MultiSelect'; import InputText from '@/components/InputText'; import Popup from '@/components/Popup'; import { fetchClasse } from '@/app/actions/schoolAction'; import { useSearchParams } from 'next/navigation'; import logger from '@/utils/logger'; import { useClasses } from '@/context/ClassesContext'; import { BASE_URL } from '@/utils/Url'; export default function Page() { const searchParams = useSearchParams(); const schoolClassId = searchParams.get('schoolClassId'); const [classe, setClasse] = useState([]); const { getNiveauxLabels, getNiveauLabel } = useClasses(); const [students, setStudents] = useState([]); const [groups, setGroups] = useState([]); const [newGroup, setNewGroup] = useState({ name: '', level: null, students: [], }); const [popupVisible, setPopupVisible] = useState(false); const [popupMessage, setPopupMessage] = useState(''); const handleCreateGroup = () => { if (!newGroup.name || !newGroup.level || newGroup.students.length === 0) { setPopupMessage( 'Tous les champs doivent être remplis pour créer un groupe.' ); setPopupVisible(true); return; } const updatedGroups = [...groups, newGroup]; setGroups(updatedGroups); setNewGroup({ name: '', level: null, students: [] }); }; const requestErrorHandler = (err) => { logger.error('Error fetching data:', err); }; useEffect(() => { fetchClasse(schoolClassId) .then((classeData) => { logger.debug('Classes récupérées :', classeData); setClasse(classeData); }) .catch(requestErrorHandler); }, []); return (

{classe?.atmosphere_name}

{/* Section Niveaux */}

Niveaux

{classe?.levels?.length > 0 ? ( getNiveauxLabels(classe.levels).map((label, index) => ( {label} )) ) : ( Aucun niveau associé )}
{/* Section Enseignants */}

Enseignants

{classe?.teachers_details?.map((teacher) => ( {teacher.last_name} {teacher.first_name} ))}
{/* Section Élèves */}

Eleves

(
{row.photo ? ( {`${row.first_name} ) : (
{row.first_name[0]} {row.last_name[0]}
)}
), }, { name: 'Nom', transform: (row) => row.last_name }, { name: 'Prénom', transform: (row) => row.first_name }, { name: 'Niveau', transform: (row) => getNiveauLabel(row.level) }, ]} data={classe.students} /> {/* Section Groupes */} {/*

groups

{groups.map((group, index) => (

{group.name}

level: {group.level.name}

{group.students.map((student) => ( {student.last_name} {student.first_name} ))}
))}
*/} {/* Formulaire de création de groupe */} {/*

createGroup

setNewGroup({ ...newGroup, name: e.target.value })} placeholder='groupName' /> setNewGroup({ ...newGroup, level: selected[0] })} /> setNewGroup({ ...newGroup, students: selected })} />
*/} {/* Popup */} setPopupVisible(false)} onCancel={() => setPopupVisible(false)} uniqueConfirmButton={true} /> ); }