- 题目列表页:TanStack Table + 多维度筛选(搜索/状态/分类/难度)+ 分页 + 状态流转 + 删除 - 新建/编辑页:独立路由页面,含题干、正确答案、干扰项编辑器(4-6个)、分类选择、难度、状态、知识卡 - API 封装:question-api.ts 6 个函数(CRUD + 状态流转) - 组件:StatusBadge、DistractorEditor、QuestionForm、columns - 修正 QUESTION_STATUSES key: review → reviewing - 新增 shadcn/ui 组件:textarea、separator
19 lines
535 B
TypeScript
19 lines
535 B
TypeScript
import { Badge } from "@/components/ui/badge"
|
|
import { QUESTION_STATUSES } from "@/lib/constants"
|
|
import type { QuestionStatus } from "@/types/question"
|
|
|
|
const statusVariants: Record<QuestionStatus, "default" | "secondary" | "outline" | "destructive"> = {
|
|
draft: "outline",
|
|
reviewing: "secondary",
|
|
published: "default",
|
|
archived: "destructive",
|
|
}
|
|
|
|
export function StatusBadge({ status }: { status: QuestionStatus }) {
|
|
return (
|
|
<Badge variant={statusVariants[status]}>
|
|
{QUESTION_STATUSES[status]}
|
|
</Badge>
|
|
)
|
|
}
|