'use client'; import { useSession, signOut } from 'next-auth/react'; import { useRouter, usePathname } from 'next/navigation'; import { useEffect } from 'react'; import Link from 'next/link'; const userNavItems = [ { href: '/user/dashboard', label: 'Dashboard', icon: 'home' }, { href: '/user/properties', label: 'Browse Properties', icon: 'building' }, { href: '/user/favorites', label: 'Favorites', icon: 'heart' }, { href: '/user/inquiries', label: 'My Inquiries', icon: 'message' }, { href: '/user/appointments', label: 'Appointments', icon: 'calendar' }, { href: '/user/settings', label: 'Settings', icon: 'settings' }, ]; const icons: Record = { home: ( ), building: ( ), heart: ( ), message: ( ), calendar: ( ), settings: ( ), }; export default function UserLayout({ children, }: { children: React.ReactNode; }) { const { data: session, status } = useSession(); const router = useRouter(); const pathname = usePathname(); useEffect(() => { if (status === 'loading') return; if (!session) { router.replace('/login'); return; } // Redirect agents to agent dashboard const userRole = (session.user as any)?.role; if (userRole === 'AGENT') { router.replace('/agent/dashboard'); } }, [session, status, router]); if (status === 'loading' || !session) { return (
); } return (
{/* Header */}
RE-QuestN
{session?.user?.name || session?.user?.email}
{/* Sidebar */} {/* Main Content */}
{children}
); }