use event context to delete event
This commit is contained in:
@@ -1,7 +1,9 @@
|
|||||||
import { useState } from 'react';
|
import {useState} from 'react';
|
||||||
import { EventContext } from "./EventContext";
|
import {EventContext} from "./EventContext";
|
||||||
import getAllEvents from "../../utils/events/getAllEvents.js";
|
import getAllEvents from "../../utils/events/getAllEvents.js";
|
||||||
import createEvent from "../../utils/events/createEvent.js";
|
import createEvent from "../../utils/events/createEvent.js";
|
||||||
|
import deleteEvent from "../../utils/events/deleteEvent.js";
|
||||||
|
|
||||||
|
|
||||||
export function EventProvider({ children }) {
|
export function EventProvider({ children }) {
|
||||||
|
|
||||||
@@ -17,8 +19,14 @@ export function EventProvider({ children }) {
|
|||||||
await updateEvent();
|
await updateEvent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const removeEvent = async (eventId) => {
|
||||||
|
const result = await deleteEvent(eventId);
|
||||||
|
await updateEvent();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<EventContext.Provider value={{ events, updateEvent, addEvent }}>
|
<EventContext.Provider value={{ events, updateEvent, addEvent, removeEvent }}>
|
||||||
{children}
|
{children}
|
||||||
</EventContext.Provider>
|
</EventContext.Provider>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import EventTask from "./components/EventTask/EventTask.jsx";
|
|||||||
import Button from "../../components/ui/button/button.jsx";
|
import Button from "../../components/ui/button/button.jsx";
|
||||||
import Modal from "../../components/ui/modal/modal.jsx";
|
import Modal from "../../components/ui/modal/modal.jsx";
|
||||||
import { AuthContext } from "../../contexts/auth/AuthContext.js";
|
import { AuthContext } from "../../contexts/auth/AuthContext.js";
|
||||||
import deleteEvent from "../../utils/events/deleteEvent.js";
|
import { EventContext } from "../../contexts/events/EventContext.js";
|
||||||
import { useNavigate } from "react-router";
|
import { useNavigate } from "react-router";
|
||||||
import TextInput from "../../components/ui/input/input.jsx";
|
import TextInput from "../../components/ui/input/input.jsx";
|
||||||
import createTaskApi from "../../utils/tasks/createTask.js";
|
import createTaskApi from "../../utils/tasks/createTask.js";
|
||||||
@@ -18,6 +18,7 @@ function EventDetail() {
|
|||||||
const params = useParams();
|
const params = useParams();
|
||||||
const id = params.id;
|
const id = params.id;
|
||||||
const { user } = useContext(AuthContext)
|
const { user } = useContext(AuthContext)
|
||||||
|
const { removeEvent } = useContext(EventContext)
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
|
|
||||||
const [open, setOpen] = useState(false);
|
const [open, setOpen] = useState(false);
|
||||||
@@ -44,7 +45,7 @@ function EventDetail() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const delEvent = async () => {
|
const delEvent = async () => {
|
||||||
const result = await deleteEvent(id);
|
const result = await removeEvent(id);
|
||||||
|
|
||||||
if (result.status === 200 || result.status === 204) {
|
if (result.status === 200 || result.status === 204) {
|
||||||
setOpen(false);
|
setOpen(false);
|
||||||
|
|||||||
Reference in New Issue
Block a user