diff --git a/src/admin/problem/tags.vue b/src/admin/problem/tags.vue
new file mode 100644
index 0000000..2af570c
--- /dev/null
+++ b/src/admin/problem/tags.vue
@@ -0,0 +1,153 @@
+
+
+
+
+
+ 标签管理
+
+ 返回题目列表
+
+
+
+
+
+
+
+
diff --git a/src/routes.ts b/src/routes.ts
index 1bef070..2fef3c1 100644
--- a/src/routes.ts
+++ b/src/routes.ts
@@ -171,6 +171,12 @@ export const admins: RouteRecordRaw = {
component: () => import("admin/problem/list.vue"),
meta: { requiresProblemPermission: true },
},
+ {
+ path: "problem/tags",
+ name: "admin tag list",
+ component: () => import("admin/problem/tags.vue"),
+ meta: { requiresProblemPermission: true },
+ },
{
path: "problem/create",
name: "admin problem create",
diff --git a/src/shared/layout/admin.vue b/src/shared/layout/admin.vue
index bf9d9e0..a69cada 100644
--- a/src/shared/layout/admin.vue
+++ b/src/shared/layout/admin.vue
@@ -173,6 +173,7 @@ const active = computed(() => {
if (path.startsWith("/admin/config")) return "admin config"
if (path.startsWith("/admin/problemset")) return "admin problemset list"
if (path.startsWith("/admin/problem/stuck")) return "admin stuck problems"
+ if (path.startsWith("/admin/problem/tags")) return "admin problem list"
if (path.startsWith("/admin/problem")) return "admin problem list"
if (path.startsWith("/admin/contest")) return "admin contest list"
if (path.startsWith("/admin/user")) return "admin user list"