From b221a83ecef1dd7f9583d5107017d24e668205a6 Mon Sep 17 00:00:00 2001
From: Kamal Wickramanayake <kamal@inbox.lk>
Date: Thu, 2 Jul 2026 20:17:44 +0530
Subject: Added React global state + role based security sample app

---
 react/08-auth-with-context/src/components/RoleGuard.jsx | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
 create mode 100644 react/08-auth-with-context/src/components/RoleGuard.jsx

(limited to 'react/08-auth-with-context/src/components/RoleGuard.jsx')

diff --git a/react/08-auth-with-context/src/components/RoleGuard.jsx b/react/08-auth-with-context/src/components/RoleGuard.jsx
new file mode 100644
index 0000000..5585908
--- /dev/null
+++ b/react/08-auth-with-context/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

