import { useState, ReactNode } from 'react'; import { EventContext, EventGroup, EventContextType } from "./EventContext"; import getAllEvents from "../../utils/events/getAllEvents"; import createEvent from "../../utils/events/createEvent"; import deleteEvent from "../../utils/events/deleteEvent"; interface EventProviderProps { children: ReactNode; } export function EventProvider({ children }: EventProviderProps) { const [events, setEvents] = useState([]); const updateEvent = async () => { const result = await getAllEvents(); setEvents(result.data.data); }; const addEvent = async (name: string, description: string, start: string, end: string) => { await createEvent(name, description, start, end); await updateEvent(); }; const removeEvent = async (eventId: number) => { await deleteEvent(eventId); await updateEvent(); }; const contextValue: EventContextType = { events, updateEvent, addEvent, removeEvent, }; return ( {children} ); }