Files
2026-07-06 14:45:44 +08:00

28 lines
831 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';
import { RuntimeVersionBanner } from '@/components/RuntimeVersionBanner';
export function LayoutShell({ children }: { children: React.ReactNode }) {
const pathname = usePathname();
const isLoginPage = pathname === '/login';
return (
<AuthGuard>
<ServerDataSaveErrorBanner />
<RuntimeVersionBanner />
{isLoginPage ? (
<>{children}</>
) : (
<div className="flex h-screen overflow-hidden">
<Sidebar />
<main className="flex-1 overflow-y-auto">{children}</main>
</div>
)}
</AuthGuard>
);
}