import Link from "next/link" import { EmptyState } from "@/shared/components/ui/empty-state" import { Badge } from "@/shared/components/ui/badge" import { Button } from "@/shared/components/ui/button" import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "@/shared/components/ui/table" import { formatDate } from "@/shared/lib/utils" import { getDemoStudentUser, getStudentHomeworkAssignments } from "@/modules/homework/data-access" import { Inbox } from "lucide-react" export const dynamic = "force-dynamic" const getStatusVariant = (status: string): "default" | "secondary" | "outline" => { if (status === "graded") return "default" if (status === "submitted") return "secondary" if (status === "in_progress") return "secondary" return "outline" } const getStatusLabel = (status: string) => { if (status === "graded") return "Graded" if (status === "submitted") return "Submitted" if (status === "in_progress") return "In progress" return "Not started" } const getActionLabel = (status: string) => { if (status === "graded") return "Review" if (status === "submitted") return "View" if (status === "in_progress") return "Continue" return "Start" } const getActionVariant = (status: string): "default" | "secondary" | "outline" => { if (status === "graded" || status === "submitted") return "outline" return "default" } export default async function StudentAssignmentsPage() { const student = await getDemoStudentUser() if (!student) { return (

Assignments

Your homework assignments.

) } const assignments = await getStudentHomeworkAssignments(student.id) const hasAssignments = assignments.length > 0 return (

Assignments

Your homework assignments.

{!hasAssignments ? ( ) : (
Title Status Due Attempts Score Action {assignments.map((a) => ( {a.title} {getStatusLabel(a.progressStatus)} {a.dueAt ? formatDate(a.dueAt) : "-"} {a.attemptsUsed}/{a.maxAttempts} {a.latestScore ?? "-"} ))}
)}
) }