import * as React from 'react'; import { useState, useEffect } from 'react'; import { useRouter } from 'next/router'; import { withPageAuthRequired } from '@auth0/nextjs-auth0/client' import { Alert, Card, CardContent, Grid, IconButton, TextField, Typography } from '@mui/material'; import { ArrowBack, ArrowLeft, Block, Close } from '@mui/icons-material'; import Button from '@mui/material/Button'; import { OpenInNew } from 'mdi-material-ui'; import Tooltip from '@mui/material/Tooltip'; const AdminUser = () => { const router = useRouter(); const [user, setUser] = useState(null); const getData = async () => { if(router.query.userId!=null){ const response = await fetch("/api/admin/users/"+router.query.userId); const data = await response.json(); setUser(data); } } useEffect(() => { getData() }, [router.query.userId]); return ( <> User Information router.push("/dashboard/admin/users")} color="primary"> Display Name: {user?.displayName} Email: {user?.email} 0 ? "error" : "success"}>{user?.numberOfBans > 0 ? "This user has been banned "+user?.numberOfBans+" times." : "This user has not been banned before."} 0 ? "error" : "success"}>{user?.numberOfBans > 0 ? "This user has been suspended "+user?.numberOfSuspensions+" times." : "This user has not been suspended before."} 0 ? "success" : "warning"}>This user has opened {user?.numberOfRequests} requests. 0 ? "success" : "warning"}>This user has paid {user?.amountSpent} for {user?.numberOfPaid} requests. 0 ? "success" : "warning"}>This user has left {user?.numberOfReviews} reviews on completed requests. ); }; // Protected route, checking user authentication client-side.(CSR) export default withPageAuthRequired(AdminUser);