admin / Synapse-Cortex
publicSelf Hosted ITSM Tool with RBAC/Tenanting and MFA
Synapse-Cortex / Synapse-Cortexv2 / frontend / src / auth / RequireAuth.tsx
633 B · main
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import { Navigate, Outlet } from 'react-router-dom' import { useAuth } from './AuthContext' export function RequireAuth() { const { user, loading } = useAuth() if (loading) return null if (!user) return <Navigate to="/login" replace /> return <Outlet /> } export function RequireAdmin() { const { isAdmin, loading } = useAuth() if (loading) return null if (!isAdmin) return <Navigate to="/" replace /> return <Outlet /> } export function RequireGlobalAdmin() { const { isGlobalAdmin, loading } = useAuth() if (loading) return null if (!isGlobalAdmin) return <Navigate to="/" replace /> return <Outlet /> } |