1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-02-09 00:18:00 +01:00
unleash.unleash/frontend/src/component/admin/users/UsersAdmin.tsx

74 lines
3.1 KiB
TypeScript
Raw Normal View History

import { useContext, useState } from 'react';
2022-01-27 16:03:03 +01:00
import UsersList from './UsersList/UsersList';
import AdminMenu from '../menu/AdminMenu';
2022-03-28 10:49:59 +02:00
import PageContent from 'component/common/PageContent/PageContent';
import AccessContext from 'contexts/AccessContext';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
2022-03-28 10:49:59 +02:00
import { ADMIN } from 'component/providers/AccessProvider/permissions';
import { TableActions } from 'component/common/Table/TableActions/TableActions';
import { HeaderTitle } from 'component/common/HeaderTitle/HeaderTitle';
import { Button } from '@material-ui/core';
import { useStyles } from './UserAdmin.styles';
2022-01-27 16:03:03 +01:00
import { useHistory } from 'react-router-dom';
import { AdminAlert } from 'component/common/AdminAlert/AdminAlert';
2022-01-27 16:03:03 +01:00
const UsersAdmin = () => {
const [search, setSearch] = useState('');
const { hasAccess } = useContext(AccessContext);
2022-01-27 16:03:03 +01:00
const history = useHistory();
const styles = useStyles();
return (
<div>
<AdminMenu />
<PageContent
bodyClass={styles.userListBody}
headerContent={
<HeaderTitle
title="Users"
actions={
<ConditionallyRender
condition={hasAccess(ADMIN)}
show={
<div className={styles.tableActions}>
<TableActions
search={search}
onSearch={search =>
setSearch(search)
}
/>
<Button
variant="contained"
color="primary"
onClick={() =>
history.push(
'/admin/create-user'
)
}
>
New user
</Button>
</div>
}
elseShow={
<small>
PS! Only admins can add/remove users.
</small>
}
/>
}
/>
}
>
<ConditionallyRender
condition={hasAccess(ADMIN)}
show={<UsersList search={search} />}
elseShow={<AdminAlert />}
/>
</PageContent>
</div>
);
};
export default UsersAdmin;