Files
ftb-project-management/apps/web/components/layout/LayoutShell.tsx
2026-07-03 19:36:18 +08:00

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>
);
}