summaryrefslogtreecommitdiff
path: root/microservices/04-react-app/src/components/RoleGuard.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'microservices/04-react-app/src/components/RoleGuard.jsx')
-rw-r--r--microservices/04-react-app/src/components/RoleGuard.jsx15
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