import { useTranslations } from "next-intl" 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 { CalendarCheck } from "lucide-react" import { AttendanceStatsCard } from "./attendance-stats-card" import { ATTENDANCE_STATUS_BADGE_VARIANTS, ATTENDANCE_STATUS_LABEL_KEYS, } from "../constants" import type { StudentAttendanceSummary } from "../types" export function StudentAttendanceView({ summary, }: { summary: StudentAttendanceSummary | null }) { const t = useTranslations("attendance") if (!summary) { return ( ) } return (
{t("list.columns.student")}

{summary.studentName}

{t("stats.totalRecords")}

{summary.stats.total}

{summary.recentRecords.length === 0 ? ( ) : ( {t("stats.recentRecords")}
{t("list.columns.date")} {t("list.columns.class")} {t("list.columns.status")} {t("list.columns.remark")} {summary.recentRecords.map((r) => ( {r.date} {r.className} {t(ATTENDANCE_STATUS_LABEL_KEYS[r.status])} {r.remark ?? "-"} ))}
)}
) }