diff --git a/client/src/components/CheckReport/CheckReport.jsx b/client/src/components/CheckReport/CheckReport.jsx index 215891d..f29f1dc 100644 --- a/client/src/components/CheckReport/CheckReport.jsx +++ b/client/src/components/CheckReport/CheckReport.jsx @@ -1,68 +1,91 @@ import { Modal } from "flowbite-react"; import { useState } from "react"; -// eslint-disable-next-line react/prop-types -function CheckReport({ openModal, setOpenModal, reportObject }) { - const [show, setShow] = useState(false); - const handleView = () => { - setShow((state) => !state); +function CheckReport({ openModal, setOpenModal, userReport }) { + const [accordionStates, setAccordionStates] = useState( + Array(userReport.length).fill(false) + ); + + const handleView = (index) => { + setAccordionStates((prevStates) => { + const newStates = [...prevStates]; + newStates[index] = !newStates[index]; + return newStates; + }); }; + return ( <> setOpenModal(false)} - reportObject={reportObject} + userReport={userReport} >

User Reports

-
-
-

- -

-
-
-

- Flowbite is an open-source library of interactive components - built on top of Tailwind CSS including buttons, dropdowns, - modals, navbars, and more. -

-
+

+ +

+
+
+

+ {report?.reason} +

+
+
+
+ ))}
-
- + + )}
diff --git a/client/src/pages/AdminPages/Managment/Managment.jsx b/client/src/pages/AdminPages/Managment/Managment.jsx index 2a95193..b5453dc 100644 --- a/client/src/pages/AdminPages/Managment/Managment.jsx +++ b/client/src/pages/AdminPages/Managment/Managment.jsx @@ -6,18 +6,22 @@ import { toast } from "react-toastify"; function Managment() { const [openModal, setOpenModal] = useState(false); - const [reportObject, setReportObject] = useState(); - const [users, setUsers] = useState([]); + const [userReport, setUserReport] = useState([]); - const handleModal = () => { + const handleModal = (userId) => { + const user = users.find((user) => { + return user._id === userId; + }); + setUserReport(user.reports); setOpenModal(true); }; useEffect(() => { const fetchUsers = async () => { const response = await getUsers(); if (response.success === true) { - setUsers(response.users); + console.log(response.userList); + setUsers(response?.userList); } }; fetchUsers(); @@ -25,8 +29,8 @@ function Managment() { const handleBlock = async (userId) => { const response = await blockUser(userId); - if (response.success === true) { - toast(response.message); + if (response?.success === true) { + toast(response?.message); } }; @@ -35,7 +39,7 @@ function Managment() {
@@ -62,32 +66,46 @@ function Managment() { - - - - - Amarnath as - - Silver - Laptop - - - - - - - - + {users?.map((user, index) => { + return ( + <> + + + + {user?.fullname} + + {user?.email} + {user?.reports.length} + + + + + {user?.is_blocked ? ( + + ) : ( + + )} + + + + + ); + })}