'use client';

import { ReactNode } from 'react';
import { usePathname } from 'next/navigation';
import { useAuthGuard } from '@/hooks/useAuthGuard';

interface LayoutProps {
  children: ReactNode;
}

export default function SiteAttendanceLayout({ children }: LayoutProps) {
  const pathname = usePathname();
  // Public pages — no auth, no admin layout wrapper:
  //   /siteattendance/c/*       — 签到页
  //   /siteattendance/shared/*  — v1.5 分诊页
  //   /siteattendance/display/* — v1.5 大屏页
  const isPublicPath =
    pathname.startsWith('/siteattendance/c/') ||
    pathname.startsWith('/siteattendance/shared/') ||
    pathname.startsWith('/siteattendance/display/');
  const { isReady } = useAuthGuard({ enabled: !isPublicPath });

  if (!isPublicPath && !isReady) {
    return (
      <div className="min-h-screen flex items-center justify-center">
        <div className="animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600" />
      </div>
    );
  }

  // Public check-in pages: no wrapper layout
  if (isPublicPath) {
    return <>{children}</>;
  }

  // Admin pages: fill available width, minimal padding
  return (
    <div className="py-6 px-6">
      {children}
    </div>
  );
}
