import * as React from 'react'; import { Link } from 'react-router-dom'; import Stack from '@mui/material/Stack'; import Table from '@mui/material/Table'; import TableBody from '@mui/material/TableBody'; import TableCell from '@mui/material/TableCell'; import TableContainer from '@mui/material/TableContainer'; import TableHead from '@mui/material/TableHead'; import TableRow from '@mui/material/TableRow'; import Paper from '@mui/material/Paper'; import IconButton from '@mui/material/IconButton'; import Typography from '@mui/material/Typography'; import EditIcon from '@mui/icons-material/Edit'; import TableFooter from '@mui/material/TableFooter'; import DeleteUserButton from 'components/DeleteUserButton/index.ee'; import ListLoader from 'components/ListLoader'; import useUsers from 'hooks/useUsers'; import useFormatMessage from 'hooks/useFormatMessage'; import * as URLS from 'config/urls'; import TablePaginationActions from './TablePaginationActions'; import { TablePagination } from './style'; export default function UserList(): React.ReactElement { const formatMessage = useFormatMessage(); const [page, setPage] = React.useState(0); const [rowsPerPage, setRowsPerPage] = React.useState(10); const { users, pageInfo, totalCount, loading, } = useUsers(page, rowsPerPage); const handleChangePage = ( event: React.MouseEvent | null, newPage: number ) => { setPage(newPage); }; const handleChangeRowsPerPage = ( event: React.ChangeEvent ) => { setRowsPerPage(+event.target.value); setPage(0); }; return ( <> {formatMessage('userList.fullName')} {formatMessage('userList.email')} {formatMessage('userList.role')} {loading && } {!loading && users.map((user) => ( {user.fullName} {user.email} {user.role.name} ))} {totalCount && ( )}
); }