import { useState } from "react"; import { Box, Button, CircularProgress, Paper, Table, TableBody, TableCell, TableContainer, TableHead, TableRow, Typography, Pagination, Dialog, DialogTitle, DialogContent, DialogActions, } from "@mui/material"; import { useUsers } from "../../hooks/users/useUsers"; import { useDeleteUser } from "../../hooks/users/useDeleteUser"; import Container from "../../components/shared/Container"; import { useNavigate } from "react-router-dom"; const UsersPage = () => { const [currentPage, setCurrentPage] = useState(1); const [deleteUserId, setDeleteUserId] = useState(null); const { data, isLoading, isError } = useUsers(currentPage); const deleteMutation = useDeleteUser(); const navigate = useNavigate(); const handleCreateUser = () => { navigate(`/dashboard/users/create`); }; const handleUpdateUser = (id: number) => { navigate(`/dashboard/users/${id}/update`); }; const handleDeleteUser = () => { if (deleteUserId !== null) { deleteMutation.mutate(deleteUserId, { onSuccess: () => setDeleteUserId(null), }); } }; if (isLoading) return ; if (isError) return Error loading users.; return ( Users ID Username Email Type Created At Actions {data?.data.map((user) => ( {user.id} {user.username} {user.email} {user.type} {new Date(user.created_at).toLocaleDateString()} ))}
setCurrentPage(value)} sx={{ mt: 3, mb: 3, display: "flex", justifyContent: "center" }} /> setDeleteUserId(null)} > Confirm Delete Are you sure you want to delete this user?
); }; export default UsersPage;