import usePagination from '@/util/usePagination' import { CheckIcon } from '@heroicons/react/20/solid' import { useDebouncedValue } from '@mantine/hooks' import { useState } from 'react' import { Link } from 'react-router-dom' import { User } from '@/api/admin/users/getUsers' import useUsersSWR from '@/api/admin/users/useUsersSWR' import PageContentBlock from '@/components/elements/PageContentBlock' import Pagination from '@/components/elements/Pagination' import Spinner from '@/components/elements/Spinner' import Table, { ColumnArray } from '@/components/elements/displays/Table' import SearchBar from '@/components/admin/SearchBar' import CreateUserModal from '@/components/admin/users/CreateUserModal' const columns: ColumnArray = [ { accessor: 'name', header: 'Name', cell: ({ value, row }) => ( {value} ), }, { accessor: 'email', header: 'Email', }, { accessor: 'rootAdmin', header: 'Administrator', align: 'center', cell: ({ value }) => (
{value ? ( ) : null}
), }, { accessor: 'serversCount', header: 'Servers', align: 'center', cell: ({ value, row }) => ( {value} ), }, ] const UsersContainer = () => { const [open, setOpen] = useState(false) const [query, setQuery] = useState('') const [debouncedQuery] = useDebouncedValue(query, 200) const [page, setPage] = usePagination() const { data } = useUsersSWR({ page, query: debouncedQuery }) return (
setOpen(false)} /> setQuery(e.target.value)} buttonText='New User' onClick={() => setOpen(true)} /> {!data ? ( ) : ( {({ items }) => ( )} )} ) } export default UsersContainer