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

@@ -13,16 +13,6 @@ export default function MyClassesPage() {
async function MyClassesPageImpl() {
const classes = await getTeacherClasses()
const session = await auth()
const role = String(session?.user?.role ?? "")
const userId = String(session?.user?.id ?? "").trim()
const canCreateClass = await (async () => {
if (role === "admin") return true
if (!userId) return false
const [row] = await db.select({ id: grades.id }).from(grades).where(eq(grades.gradeHeadId, userId)).limit(1)
return Boolean(row)
})()
return (
<div className="flex h-full flex-col space-y-8 p-8">
@@ -35,7 +25,7 @@ async function MyClassesPageImpl() {
</div>
</div>
<MyClassesGrid classes={classes} canCreateClass={canCreateClass} />
<MyClassesGrid classes={classes} canCreateClass={false} />
</div>
)
}