From b221a83ecef1dd7f9583d5107017d24e668205a6 Mon Sep 17 00:00:00 2001 From: Kamal Wickramanayake 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