From aa122113ade36f02dc8fdbebdf1232b5c4b8742c Mon Sep 17 00:00:00 2001
From: Kamal Wickramanayake <kamal@inbox.lk>
Date: Fri, 3 Jul 2026 19:02:36 +0530
Subject: Microservice sample projects

---
 microservices/04-react-app/src/components/RoleGuard.jsx | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
 create mode 100644 microservices/04-react-app/src/components/RoleGuard.jsx

(limited to 'microservices/04-react-app/src/components/RoleGuard.jsx')

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
-- 
cgit v1.2.3

