import React, { useEffect, useState } from 'react'; import { observer } from 'mobx-react'; import { Box, Flex, Button, Heading, Text } from '@chakra-ui/react'; import { FaFileExcel } from 'react-icons/fa'; /** * Types */ import { IPageProps } from 'interfaces'; import { SearchingRoleStateType } from 'types'; /** * Components */ import UserSearch from './components/UserSearch'; import UserList from './components/UserList'; import LoadingPage from './components/LoadingPage'; /** * Hooks */ import { useRootStore } from 'hooks/useRootStore'; import { useErrorHandler } from 'react-error-boundary'; import { useLocation } from 'react-router'; /** * Context */ import { UsersPageContext } from 'contexts'; import CreateUserModal from './components/CreateUserModal'; /** * Users Page */ const UsersPage: React.FC = ({ title }) => { const { userStore } = useRootStore(); const [searchingRole, setSearchingRole] = useState(undefined); const [loading, setLoading] = useState(false); const [search, setSearch] = useState(undefined); const handleError = useErrorHandler(); const location = useLocation(); useEffect(() => { userStore.loadUsersData().catch(error => handleError(error)); }, [handleError, userStore, location.search]); return ( User management You can add or delete your users on this page. {userStore.users !== null && userStore.me !== null && userStore.pagination !== undefined ? ( ) : ( )} ); }; export default observer(UsersPage);