import type { ReactNode } from "react"

import { cn } from "@/shared/lib/utils"

/**
 * 考勤模块页面布局（消除 admin/teacher 页面重复结构）。
 *
 * 复用模式：标题区 + 统计卡片（可选）+ 筛选区 + 内容区。
 */
interface AttendancePageLayoutProps {
  /** 页面头部（标题 + 描述 + 操作按钮） */
  header: ReactNode
  /** 统计卡片区（admin 总览页使用） */
  stats?: ReactNode
  /** 筛选区 */
  filters?: ReactNode
  /** 主体内容（列表/表单等） */
  children: ReactNode
  /** 额外类名 */
  className?: string
}

export function AttendancePageLayout({
  header,
  stats,
  filters,
  children,
  className,
}: AttendancePageLayoutProps) {
  return (
    <div className={cn("h-full flex-1 flex-col space-y-8 p-8 md:flex", className)}>
      {header}
      {stats}
      {filters}
      {children}
    </div>
  )
}
