import { getSessionAdmin } from '@/lib/auth/dal';
import { AdminShell } from './_components/admin-shell';

// Basic 레이아웃 — 헤더·사이드바·풋터가 있는 일반 관리자 화면 진입점. 보안 강제는 상위
// `(protected)/layout.tsx`가 담당하므로 여기서는 크롬 조립(AdminShell)만 책임진다. page
// 콘텐츠는 Server Component로 렌더된 그대로 AdminShell의 children으로 통과한다.
//
// 헤더 프로필에 쓸 이름만 세션에서 읽는다. **인증 판단은 하지 않는다** — 레이아웃은 Partial
// Rendering 때문에 인증 체크 지점으로 부적합하다는 상위 레이아웃의 판단을 그대로 따르므로,
// redirect하는 `verifySession()`이 아니라 null을 돌려주는 `getSessionAdmin()`을 쓴다.
export default async function Layout({
  children,
}: Readonly<{
  children: React.ReactNode;
}>) {
  const admin = await getSessionAdmin();

  return (
    <AdminShell adminName={admin?.name ?? '관리자'}>{children}</AdminShell>
  );
}
