diff --git a/src/oj/api.ts b/src/oj/api.ts index ed78180..4969d7d 100644 --- a/src/oj/api.ts +++ b/src/oj/api.ts @@ -20,6 +20,7 @@ function filterResult(result: Problem) { status: "", author: result.created_by.username, allow_flowchart: result.allow_flowchart, + show_flowchart: result.show_flowchart, } if (result.my_status === null || result.my_status === undefined) { newResult.status = "not_test" diff --git a/src/oj/problem/components/ProblemListTitle.vue b/src/oj/problem/components/ProblemListTitle.vue index 46524f6..f6e0917 100644 --- a/src/oj/problem/components/ProblemListTitle.vue +++ b/src/oj/problem/components/ProblemListTitle.vue @@ -14,5 +14,10 @@ defineProps<{ width="18" icon="vscode-icons:file-type-drawio" /> + diff --git a/src/oj/problem/list.vue b/src/oj/problem/list.vue index 77a28ed..7144ad8 100644 --- a/src/oj/problem/list.vue +++ b/src/oj/problem/list.vue @@ -15,6 +15,7 @@ import { renderTableTitle } from "utils/renders" import ProblemStatus from "./components/ProblemStatus.vue" import AuthorSelect from "shared/components/AuthorSelect.vue" import ProblemListTitle from "./components/ProblemListTitle.vue" +import { labelRect } from "mermaid/dist/rendering-util/rendering-elements/shapes/labelRect" interface Tag { id: number @@ -44,6 +45,7 @@ const sortOptions = [ { label: "最少提交", value: "submission_number" }, { label: "最多通过", value: "-accepted_number" }, { label: "最少通过", value: "accepted_number" }, + { label: "画流程图", value: "flowchart" }, ] const router = useRouter() diff --git a/src/utils/types.ts b/src/utils/types.ts index 4f2532e..791c92a 100644 --- a/src/utils/types.ts +++ b/src/utils/types.ts @@ -173,6 +173,7 @@ export interface ProblemFiltered { status: "not_test" | "passed" | "failed" author: string allow_flowchart: boolean + show_flowchart: boolean } export interface AdminProblemFiltered { diff --git a/tsconfig.json b/tsconfig.json index 06eb94a..7192a22 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,7 +3,6 @@ "target": "ESNext", "useDefineForClassFields": true, "module": "ESNext", - "moduleResolution": "Node", "strict": true, "jsx": "preserve", "resolveJsonModule": true,