26 lines
726 B
TypeScript
26 lines
726 B
TypeScript
'use client';
|
|
|
|
import { usePathname } from 'next/navigation';
|
|
import { Sidebar } from '@/components/layout/Sidebar';
|
|
import { AuthGuard } from '@/components/AuthGuard';
|
|
import { ServerDataSaveErrorBanner } from '@/components/ServerDataSaveErrorBanner';
|
|
|
|
export function LayoutShell({ children }: { children: React.ReactNode }) {
|
|
const pathname = usePathname();
|
|
const isLoginPage = pathname === '/login';
|
|
|
|
return (
|
|
<AuthGuard>
|
|
<ServerDataSaveErrorBanner />
|
|
{isLoginPage ? (
|
|
<>{children}</>
|
|
) : (
|
|
<div className="flex h-screen overflow-hidden">
|
|
<Sidebar />
|
|
<main className="flex-1 overflow-y-auto">{children}</main>
|
|
</div>
|
|
)}
|
|
</AuthGuard>
|
|
);
|
|
}
|