website-01/components/admin/AdminShell.tsx

32 lines
879 B
TypeScript
Raw Permalink Normal View History

2026-06-22 14:43:46 +08:00
'use client';
import { ReactNode } from 'react';
import { usePathname } from 'next/navigation';
import { AdminSidebar } from './AdminSidebar';
import { TopBar } from './TopBar';
/**
* Admin
* /admin/* TopBar +
*/
export function AdminShell({ children }: { children: ReactNode }) {
const pathname = usePathname();
// 登录页(以及其它无侧边栏的独立页)直接渲染内容
if (pathname === '/admin/login') {
return <>{children}</>;
}
return (
<div className="flex min-h-screen flex-col bg-gray-50">
<TopBar />
<div className="flex flex-1">
<AdminSidebar />
<main className="flex-1 overflow-x-hidden">
<div className="min-h-screen p-6 lg:p-8">{children}</div>
</main>
</div>
</div>
);
}