diff options
| author | Kamal Wickramanayake <kamal@inbox.lk> | 2026-07-03 19:02:36 +0530 |
|---|---|---|
| committer | Kamal Wickramanayake <kamal@inbox.lk> | 2026-07-03 19:02:36 +0530 |
| commit | aa122113ade36f02dc8fdbebdf1232b5c4b8742c (patch) | |
| tree | c345b83db6c769bf5e72a09e3f19d43431961695 /microservices/04-react-app/src/components/RoleGuard.jsx | |
| parent | b221a83ecef1dd7f9583d5107017d24e668205a6 (diff) | |
Microservice sample projects
Diffstat (limited to 'microservices/04-react-app/src/components/RoleGuard.jsx')
| -rw-r--r-- | microservices/04-react-app/src/components/RoleGuard.jsx | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/microservices/04-react-app/src/components/RoleGuard.jsx b/microservices/04-react-app/src/components/RoleGuard.jsx new file mode 100644 index 0000000..5585908 --- /dev/null +++ b/microservices/04-react-app/src/components/RoleGuard.jsx @@ -0,0 +1,15 @@ +import { useAuth } from '../contexts/AuthContext'; + +const RoleGuard = ({ allowedRoles, children }) => { + const { isInRoles } = useAuth(); + + // If at least one of the user's role is in the allowed list, show the content + if (isInRoles(allowedRoles)) { + return <>{children}</>; + } + + // Otherwise, hide the content + return null; +}; + +export default RoleGuard;
\ No newline at end of file |
