1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-06-04 01:18:20 +02:00
unleash.unleash/frontend/src/component/admin/projectRoles/ProjectRoles/ProjectRoles.tsx
Tymoteusz Czech 44c579f7a8 Refactor: page container (#967)
* refactor: page container

* refactor: table page header
2022-05-09 14:38:12 +02:00

64 lines
2.5 KiB
TypeScript

import { Button } from '@mui/material';
import { useContext } from 'react';
import { useNavigate } from 'react-router-dom';
import AccessContext from 'contexts/AccessContext';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
import { PageHeader } from 'component/common/PageHeader/PageHeader';
import { PageContent } from 'component/common/PageContent/PageContent';
import { ADMIN } from 'component/providers/AccessProvider/permissions';
import AdminMenu from 'component/admin/menu/AdminMenu';
import { useStyles } from './ProjectRoles.styles';
import ProjectRoleList from './ProjectRoleList/ProjectRoleList';
import { AdminAlert } from 'component/common/AdminAlert/AdminAlert';
const ProjectRoles = () => {
const { hasAccess } = useContext(AccessContext);
const { classes: styles } = useStyles();
const navigate = useNavigate();
return (
<div>
<AdminMenu />
<PageContent
bodyClass={styles.rolesListBody}
header={
<PageHeader
title="Project Roles"
actions={
<ConditionallyRender
condition={hasAccess(ADMIN)}
show={
<Button
variant="contained"
color="primary"
onClick={() =>
navigate(
'/admin/create-project-role'
)
}
>
New Project role
</Button>
}
elseShow={
<small>
PS! Only admins can add/remove roles.
</small>
}
/>
}
/>
}
>
<ConditionallyRender
condition={hasAccess(ADMIN)}
show={<ProjectRoleList />}
elseShow={<AdminAlert />}
/>
</PageContent>
</div>
);
};
export default ProjectRoles;