/** * Component: AuthGuard * * Protects routes that require authentication but not specific roles. * Uses the same Gateway pattern for consistency. */ 'use client'; import { ReactNode } from 'react'; import { RouteGuard } from './RouteGuard'; interface AuthGuardProps { children: ReactNode; /** * Path to redirect to if not authenticated */ redirectPath?: string; /** * Custom loading component (optional) */ loadingComponent?: ReactNode; /** * Custom unauthorized component (optional) */ unauthorizedComponent?: ReactNode; } /** * AuthGuard Component * * Protects child components requiring authentication. * * Usage: * ```tsx * * * * ``` */ export function AuthGuard({ children, redirectPath = '/auth/login', loadingComponent, unauthorizedComponent, }: AuthGuardProps) { return ( {children} ); } /** * useAuth Hook * * Simplified hook for checking authentication status. * * Usage: * ```tsx * const { isAuthenticated, loading } = useAuth(); * ``` */ export { useRouteGuard as useAuthAccess } from './RouteGuard';