import { useTranslations } from "next-intl" import { CalendarCheck, CheckCircle2, Clock, TrendingUp, Users, XCircle, Inbox, } from "lucide-react" import { Card, CardContent, CardHeader, CardTitle } from "@/shared/components/ui/card" import { Badge } from "@/shared/components/ui/badge" import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "@/shared/components/ui/table" import { EmptyState } from "@/shared/components/ui/empty-state" import { StatItem } from "@/shared/components/ui/stat-item" import { ATTENDANCE_STATUS_BADGE_VARIANTS, ATTENDANCE_STATUS_LABEL_KEYS, } from "@/shared/constants/attendance-status" import type { ParentStudentAttendanceSummary } from "@/modules/parent/types" /** * 家长视角的单个子女考勤详情组件(统计卡片 + 最近记录表)。 * * 解耦说明(P1-2 修复): * - 此组件替代原先从 `@/modules/attendance/components/student-attendance-view` 直接导入的 `StudentAttendanceView`。 * - parent 模块不再依赖 attendance 模块的 UI 组件,仅依赖自身类型与 shared 常量。 * - 数据通过 props 注入(由 parent page 通过 `AttendanceReadService` 接口获取后传入)。 */ export function ParentStudentAttendanceDetail({ summary, }: { summary: ParentStudentAttendanceSummary }) { const t = useTranslations("attendance") const { stats, recentRecords } = summary return (
{summary.studentName}
{stats.total}