diff --git a/client/src/components/Layout.jsx b/client/src/components/Layout.jsx index d8d717e..9d7cc9a 100644 --- a/client/src/components/Layout.jsx +++ b/client/src/components/Layout.jsx @@ -35,10 +35,15 @@ const Layout = () => { const { connected, recentDetections } = useSocket(); const location = useLocation(); - // Build navigation based on user role - const navigation = user?.role === 'admin' - ? [...baseNavigation, ...adminNavigation] - : baseNavigation; + // Build navigation based on user role - ensure it's always an array + const navigation = React.useMemo(() => { + if (!user) { + return baseNavigation; // Return base navigation if user not loaded yet + } + return user.role === 'admin' + ? [...baseNavigation, ...adminNavigation] + : baseNavigation; + }, [user?.role]); return (