Separate Client Portal & Dashboard

This commit is contained in:
2022-05-23 10:38:16 +07:00
parent f2e84e6244
commit 89bb57f357
569 changed files with 60252 additions and 280 deletions

View File

@@ -0,0 +1,32 @@
import { ReactNode } from 'react';
import { Container, Alert, AlertTitle } from '@mui/material';
// ----------------------------------------------------------------------
type RoleBasedGuardProp = {
accessibleRoles: string[];
children: ReactNode | string;
};
const useCurrentRole = () => {
// Logic here to get current user role
const role = 'admin';
return role;
};
export default function RoleBasedGuard({ accessibleRoles, children }: RoleBasedGuardProp) {
const currentRole = useCurrentRole();
if (!accessibleRoles.includes(currentRole)) {
return (
<Container>
<Alert severity="error">
<AlertTitle>Permission Denied</AlertTitle>
You do not have permission to access this page
</Alert>
</Container>
);
}
return <>{children}</>;
}