'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 (