diff --git a/src/contexts/Events/EventContext.ts b/src/contexts/Events/EventContext.ts index 14136d6..671e62b 100644 --- a/src/contexts/Events/EventContext.ts +++ b/src/contexts/Events/EventContext.ts @@ -18,6 +18,7 @@ export type EventContextType = { events: EventGroup[]; updateEvent: () => void; addEvent: (name: string, description: string, start: string, end: string) => Promise; + removeEvent:(eventId: number) => void; }; export const EventContext = createContext(null); \ No newline at end of file diff --git a/src/contexts/Events/EventProvider.jsx b/src/contexts/Events/EventProvider.jsx deleted file mode 100644 index 378c64e..0000000 --- a/src/contexts/Events/EventProvider.jsx +++ /dev/null @@ -1,33 +0,0 @@ -import {useState} from 'react'; -import {EventContext} from "./EventContext"; -import getAllEvents from "../../utils/events/getAllEvents.js"; -import createEvent from "../../utils/events/createEvent.js"; -import deleteEvent from "../../utils/events/deleteEvent.js"; - - -export function EventProvider({ children }) { - - const [events, setEvents] = useState([]); - - const updateEvent = async () => { - const result = await getAllEvents(); - setEvents(result.data.data); - } - - const addEvent = async (name, description, start, end) => { - await createEvent(name, description, start, end); - await updateEvent(); - } - - const removeEvent = async (eventId) => { - const result = await deleteEvent(eventId); - await updateEvent(); - return result; - } - - return ( - - {children} - - ); -} \ No newline at end of file diff --git a/src/contexts/Events/EventProvider.tsx b/src/contexts/Events/EventProvider.tsx new file mode 100644 index 0000000..8d0bbf3 --- /dev/null +++ b/src/contexts/Events/EventProvider.tsx @@ -0,0 +1,75 @@ +/*import {useState} from 'react'; +import {EventContext} from "./EventContext"; +import getAllEvents from "../../utils/events/getAllEvents.js"; +import createEvent from "../../utils/events/createEvent.js"; +import deleteEvent from "../../utils/events/deleteEvent.js"; + + +export function EventProvider({ children }) { + + const [events, setEvents] = useState([]); + + const updateEvent = async () => { + const result = await getAllEvents(); + setEvents(result.data.data); + } + + const addEvent = async (name, description, start, end) => { + await createEvent(name, description, start, end); + await updateEvent(); + } + + const removeEvent = async (eventId) => { + const result = await deleteEvent(eventId); + await updateEvent(); + return result; + } + + return ( + + {children} + + ); +}*/ + +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} + + ); +} \ No newline at end of file