diff options
author | rohan09-raj <[email protected]> | 2022-08-25 11:52:33 +0530 |
---|---|---|
committer | rohan09-raj <[email protected]> | 2022-08-25 11:55:12 +0530 |
commit | 54a27fb52551069fa6d40c6f5941c5d49c0f0506 (patch) | |
tree | 8aff7da60822a847ea081c981da904880d6fb807 /admin/src/pages/UpdateRequests/UpdateRequests.jsx | |
parent | 772fc663fd31bc247dcc7da31090234b5b89f155 (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.jsx | 72 |
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; |