mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-29 16:03:21 +00:00
feat: Gestion des inscriptions [#1] feat(frontend): Création des vues pour le paramétrage de l'école [#2] feat: Gestion du login [#6] fix: Correction lors de la migration des modèle [#8] feat: Révision du menu principal [#9] feat: Ajout d'un footer [#10] feat: Création des dockers compose pour les environnements de développement et de production [#12] doc(ci): Mise en place de Husky et d'un suivi de version automatique [#14]
60 lines
1.5 KiB
JavaScript
60 lines
1.5 KiB
JavaScript
import { useState } from 'react';
|
|
import { mockEvents, mockSchedules } from '@/data/mockData';
|
|
|
|
export default function useSchedules() {
|
|
const [schedules, setSchedules] = useState(mockSchedules);
|
|
const [events, setEvents] = useState(mockEvents);
|
|
const [selectedSchedule, setSelectedSchedule] = useState(mockSchedules[0].id);
|
|
|
|
const addEvent = async (eventData) => {
|
|
const newEvent = {
|
|
...eventData,
|
|
id: `event-${Date.now()}`,
|
|
color: schedules.find(s => s.id === eventData.scheduleId)?.color || '#10b981'
|
|
};
|
|
setEvents(prev => [...prev, newEvent]);
|
|
return newEvent;
|
|
};
|
|
|
|
const updateEvent = async (eventId, updates) => {
|
|
setEvents(prev => prev.map(event =>
|
|
event.id === eventId ? { ...event, ...updates } : event
|
|
));
|
|
return updates;
|
|
};
|
|
|
|
const deleteEvent = async (eventId) => {
|
|
setEvents(prev => prev.filter(event => event.id !== eventId));
|
|
return eventId;
|
|
};
|
|
|
|
const addSchedule = (newSchedule) => {
|
|
setSchedules(prev => [...prev, {
|
|
...newSchedule,
|
|
id: `schedule-${Date.now()}`
|
|
}]);
|
|
};
|
|
|
|
const updateSchedule = (id, updates) => {
|
|
setSchedules(prev => prev.map(schedule =>
|
|
schedule.id === id ? { ...schedule, ...updates } : schedule
|
|
));
|
|
};
|
|
|
|
const deleteSchedule = (id) => {
|
|
setSchedules(prev => prev.filter(schedule => schedule.id !== id));
|
|
};
|
|
|
|
return {
|
|
events,
|
|
schedules,
|
|
selectedSchedule,
|
|
setSelectedSchedule,
|
|
addEvent,
|
|
updateEvent,
|
|
deleteEvent,
|
|
addSchedule,
|
|
updateSchedule,
|
|
deleteSchedule
|
|
};
|
|
} |