summaryrefslogtreecommitdiff
path: root/admin/src/pages/UpdateRequests/UpdateRequests.jsx
diff options
context:
space:
mode:
authorrohan09-raj <[email protected]>2022-08-25 11:52:33 +0530
committerrohan09-raj <[email protected]>2022-08-25 11:55:12 +0530
commit54a27fb52551069fa6d40c6f5941c5d49c0f0506 (patch)
tree8aff7da60822a847ea081c981da904880d6fb807 /admin/src/pages/UpdateRequests/UpdateRequests.jsx
parent772fc663fd31bc247dcc7da31090234b5b89f155 (diff)
admin UI improvement and back button added
Diffstat (limited to 'admin/src/pages/UpdateRequests/UpdateRequests.jsx')
-rw-r--r--admin/src/pages/UpdateRequests/UpdateRequests.jsx72
1 files changed, 72 insertions, 0 deletions
diff --git a/admin/src/pages/UpdateRequests/UpdateRequests.jsx b/admin/src/pages/UpdateRequests/UpdateRequests.jsx
new file mode 100644
index 0000000..174dbdc
--- /dev/null
+++ b/admin/src/pages/UpdateRequests/UpdateRequests.jsx
@@ -0,0 +1,72 @@
+import React from 'react';
+import Accordion from '../../components/Accordion/Accordion';
+import Button from '../../components/Button/Button';
+import Header from '../../components/Header/Header';
+import {
+ deleteUser,
+ getUnverifiedUsers,
+ updateUser,
+} from '../../services/apiservice';
+import {useQuery, useMutation} from 'react-query';
+import {useNavigate} from 'react-router-dom';
+import styles from './UpdateRequests.module.css';
+import BackButton from '../../components/BackButton/BackButton';
+import Spinner from '../../components/Spinner/Spinner';
+
+const UpdateRequests = () => {
+ const navigate = useNavigate();
+ const {data, isLoading, isError, refetch} = useQuery(
+ 'unverified',
+ getUnverifiedUsers
+ );
+ const deleteUse = useMutation((id) => deleteUser(id), {
+ onSuccess: () => {
+ refetch();
+ },
+ });
+
+ const updateUse = useMutation((id) => updateUser(id, {verified: true}), {
+ onSuccess: () => {
+ refetch();
+ },
+ });
+
+ if (isLoading) {
+ return <Spinner heading='Admin' />;
+ }
+
+ if (isError) {
+ return <div>Error</div>;
+ }
+
+ return (
+ <div className={styles.unverified_users}>
+ <Header subheading='Admin' />
+ <BackButton onClick={() => navigate('/')} />
+ <h1 className={styles.unverified_users__heading}>Unverified Users</h1>
+ <div className='accordion'>
+ {data?.data.length !== 0 ? (
+ data?.data.map((item) => (
+ <div className={styles.unverified_users__accordion} key={item._id}>
+ <Accordion name={item.name} user={item} />
+ <Button
+ title='Accept'
+ color='green'
+ onClick={() => updateUse.mutate(item._id)}
+ />
+ <Button
+ title='Reject'
+ color='red'
+ onClick={() => deleteUse.mutate(item._id)}
+ />
+ </div>
+ ))
+ ) : (
+ <div className={styles.unverified_users__nodata}>No Data Found</div>
+ )}
+ </div>
+ </div>
+ );
+};
+
+export default UpdateRequests;