import { School, Trash2, MoreVertical, Edit3, Plus, ZoomIn } from 'lucide-react'; import { useState } from 'react'; import Table from '@/components/Table'; import DropdownMenu from '@/components/DropdownMenu'; import Modal from '@/components/Modal'; import ClassForm from '@/components/ClassForm'; const ClassesSection = ({ classes, specialities, teachers, handleCreate, handleEdit, handleDelete }) => { const [isOpen, setIsOpen] = useState(false); const [editingClass, setEditingClass] = useState(null); const openEditModal = (classe) => { setIsOpen(true); setEditingClass(classe); } const closeEditModal = () => { setIsOpen(false); setEditingClass(null); }; const handleModalSubmit = (updatedData) => { if (editingClass) { handleEdit(editingClass.id, updatedData); } else { handleCreate(updatedData); } closeEditModal(); }; const handleInspect = (data) => { console.log('inspect classe : ', data) } return (

Classes

row.nom_ambiance }, { name: 'AGE', transform: (row) => `${row.tranche_age[0]} - ${row.tranche_age[1]} ans` }, { name: 'NOMBRE D\'ELEVES', transform: (row) => row.nombre_eleves }, { name: 'LANGUE D\'ENSEIGNEMENT', transform: (row) => row.langue_enseignement }, { name: 'ANNEE SCOLAIRE', transform: (row) => row.annee_scolaire }, { name: 'SPECIALITES', transform: (row) => (
{row.specialites.map(specialite => ( ))}
) }, { name: 'ENSEIGNANT PRINCIPAL', transform: (row) => { return row.enseignant_principal ? `${row.enseignant_principal.nom || ''} ${row.enseignant_principal.prenom || ''}` : Non assigné; } }, { name: 'ACTIONS', transform: (row) => ( } items={[ { label: 'Inspecter', icon: ZoomIn, onClick: () => handleInspect(row) }, { label: 'Modifier', icon:Edit3, onClick: () => openEditModal(row) }, { label: 'Supprimer', icon: Trash2, onClick: () => handleDelete(row.id) } ] } buttonClassName="text-gray-400 hover:text-gray-600" menuClassName="absolute right-0 mt-2 w-48 bg-white border border-gray-200 rounded-md shadow-lg z-10 flex flex-col items-center" /> )} ]} data={classes} /> {isOpen && ( ( )} /> )} ); }; export default ClassesSection;