feat(classes): optimize teacher dashboard ui and implement grade management

This commit is contained in:
SpecialX
2026-01-14 13:59:11 +08:00
parent ade8d4346c
commit 9bfc621d3f
104 changed files with 12793 additions and 2309 deletions

View File

@@ -1,17 +1,45 @@
"use client"
import Link from "next/link"
import { CalendarDays, BookOpen, PenTool } from "lucide-react"
import { Button } from "@/shared/components/ui/button"
export function StudentDashboardHeader({ studentName }: { studentName: string }) {
const hour = new Date().getHours()
let greeting = "Welcome back"
if (hour < 12) greeting = "Good morning"
else if (hour < 18) greeting = "Good afternoon"
else greeting = "Good evening"
return (
<div className="flex flex-col justify-between gap-4 md:flex-row md:items-center">
<div className="space-y-1">
<h1 className="text-3xl font-bold tracking-tight">Dashboard</h1>
<div className="text-sm text-muted-foreground">Welcome back, {studentName}.</div>
<div className="text-sm text-muted-foreground">
{greeting}, {studentName}. Here&apos;s what&apos;s happening today.
</div>
</div>
<div className="flex flex-wrap items-center gap-2">
<Button asChild variant="outline" size="sm" className="gap-2">
<Link href="/student/schedule">
<CalendarDays className="h-4 w-4" />
Schedule
</Link>
</Button>
<Button asChild variant="outline" size="sm" className="gap-2">
<Link href="/student/learning/textbooks">
<BookOpen className="h-4 w-4" />
Textbooks
</Link>
</Button>
<Button asChild size="sm" className="gap-2">
<Link href="/student/learning/assignments">
<PenTool className="h-4 w-4" />
Assignments
</Link>
</Button>
</div>
<Button asChild variant="outline">
<Link href="/student/learning/assignments">View assignments</Link>
</Button>
</div>
)
}