feat(题单): 题单页重做——布置中的放最上面,详情顶上一条进度和奖章阶梯,没加入看得见题点不进;老师看全班、后台一屏编辑
Deploy / deploy (push) Canceled after 0s

- 列表:布置中的大卡片(做对几道、布置到哪天、再做对几道拿哪个奖章),其余小卡片,加入过的在前
- 详情:进度 + 奖章阶梯(下一个金圈「再做对 n 道」),题目两列写几点做对 / 交过几次;
  以前做对过的标「旧代码先藏着」;做完整条变绿,烟花只在做完那一刻放
- 老师多一个「全班情况」页签;题目页从链接直接进来没加入时,条上给「加入题单」
- 后台一屏编辑:布置一周 / 两周 / 四周 / 选日期,公开开关,粘贴多个题号一次加,拖动排序,奖章只剩两种条件
- 旧代码藏着的地方都说清楚是哪个题单、哪天之后能看
- 修掉列表卡片把选做题数说成「新加了 N 题」

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
xuyueandClaude Opus 5.5 committed 2026-10-09 22:01:39 +08:00
1 parent 8c53e28dcb
commit c17f88cdbb
32 files changed
+2630 -2181

No files matched your search

+4 -24
View File
@@ -195,31 +195,12 @@ export type {
ProblemSetList,
ProblemSetBadge,
ProblemSetProblem,
ProblemSetProgress,
ProblemSetProgressList,
ProblemSetClassView,
ProblemSetClassStudent,
ProblemSetLock,
UserBadge,
} from "@oj2/contract"
export type { CompletedProblem } from "@oj2/contract"
export interface CreateProblemSetData {
title: string
description: string
difficulty: "Easy" | "Medium" | "Hard"
status: "active" | "archived" | "draft"
endTime?: Date | null
}
export interface EditProblemSetData {
id: number
title?: string
description?: string
difficulty?: "Easy" | "Medium" | "Hard"
status?: "active" | "archived" | "draft"
endTime?: Date | null
visible?: boolean
}
export interface Code {
language: LANGUAGE
value: string
@@ -339,12 +320,11 @@ export type {
AdminUser,
AdminUserList,
AdminContestList,
AdminProblemSetProgress,
AdminProblemSetProblem,
AdminProblemSet,
AdminProblemSetList,
AdminProblemSetBadge,
AddProblemToSetRequest,
AddProblemsToSetResult,
UpdateProblemInSetRequest,
CreateProblemSetBadgeRequest,
AdminAiReport,