diff --git a/frontend/src/components/PollTableRow/PollTableRow.jsx b/frontend/src/components/PollTableRow/PollTableRow.jsx index 06c24a0..3898817 100644 --- a/frontend/src/components/PollTableRow/PollTableRow.jsx +++ b/frontend/src/components/PollTableRow/PollTableRow.jsx @@ -1,24 +1,33 @@ -// PollTableRow.js import React, { useState } from "react"; import { FaTrashAlt, FaUserEdit } from "react-icons/fa"; +import {useMutation} from "react-query" +import deletePollService from "../../services/deletePollService"; +import { toast } from "react-toastify"; function PollTableRow({ poll, index, refetch }) { - const [showEditForm, setShowEditForm] = useState(false); + + + const mutation = useMutation(deletePollService, { + onSuccess : (data) => { + console.log(data); + refetch(); + toast.success(data?.message); + }, + onError : (error) => { + toast.error("An unexpected error occurred"); + console.log(error); + } + }) const handleDelete = () => { const sure = window.confirm("Are you sure you want to delete this poll?"); - if (sure) { - console.log(`Poll with ID: ${poll._id} has been deleted.`); - } + if (!sure) return; + mutation.mutate(poll._id); }; return ( <> - {showEditForm && ( -
- {/* Poll Edit Form Component would go here */} -
- )} + {index + 1} {poll.title} diff --git a/frontend/src/services/deletePollService.js b/frontend/src/services/deletePollService.js new file mode 100644 index 0000000..a3c68d3 --- /dev/null +++ b/frontend/src/services/deletePollService.js @@ -0,0 +1,7 @@ +import axiosInstance from "../helper/axiosInstance.js" +async function deletePollService(pollId) { + const response = await axiosInstance.delete(`/poll/delete/${pollId}`); + return response.data; +} + +export default deletePollService