import React, { useState, useEffect } from 'react'; import { api } from '../stores/api'; import { useStore } from '../stores/store'; import PageHeader from '../components/PageHeader'; const CATEGORIES = { executif: { label: 'Exécutif', bg: 'bg-blue-100', text: 'text-blue-700' }, service: { label: 'Service', bg: 'bg-purple-100', text: 'text-purple-700' }, physique: { label: 'Physique', bg: 'bg-green-100', text: 'text-green-700' }, }; export default function Calendrier() { const { groupeId } = useStore(); const [entries, setEntries] = useState([]); const [detailGroupe, setDetailGroupe] = useState(null); const [loading, setLoading] = useState(true); useEffect(() => { api.get('/calendrier/').then((data) => { setEntries(data); setLoading(false); }).catch(() => setLoading(false)); }, []); // Grouper par groupe const parGroupe = {}; entries.forEach((e) => { if (!parGroupe[e.groupe_nom]) { parGroupe[e.groupe_nom] = { nom: e.groupe_nom, id: e.groupe_id, jour: e.jour_reunion, serviteurs: [] }; } parGroupe[e.groupe_nom].serviteurs.push(e); }); const groupes = Object.values(parGroupe); const voirDetail = async (gId) => { try { const data = await api.get(`/calendrier/groupe/${gId}`); setDetailGroupe(data); } catch {} }; if (detailGroupe) { return (
{detailGroupe.groupe?.jour_reunion ? `Réunion le ${detailGroupe.groupe.jour_reunion}` : 'Calendrier'}
Adresse
{detailGroupe.groupe.adresse}
{s.poste}
{s.prenom}
Aucun serviteur assigné
)}Chargement...
) : groupes.length === 0 ? (📅
Aucune donnée de calendrier