Files
user-front/src/middlewares/UserType.jsx

42 lines
1.3 KiB
JavaScript

import {NextLinkComposed} from "@/core/components/LinkRouting";
import Message from "@/core/components/Messages";
import useUser from "@/lib/app/hooks/useUser";
import {Button, Typography} from "@mui/material";
import {useTranslations} from "next-intl";
const UserTypeMiddleware = ({children, user_type}) => {
const {user} = useUser();
const t = useTranslations();
const userPermission = user.type_id === user_type;
if (!userPermission) {
return (
<Message
text={
<Typography sx={{textAlign: "center"}}>
{t("Permission.typography_you_dont_have_access")}
</Typography>
}
actions={
<>
<Button
variant="contained"
component={NextLinkComposed}
to={{
pathname: "/dashboard",
}}
>
{t("Permission.button_back_dashboard")}
</Button>
</>
}
/>
);
}
return <>{children}</>;
};
export default UserTypeMiddleware;