From a53e565e5aaf19830635457ee4977e60d269d6e5 Mon Sep 17 00:00:00 2001 From: Administrator Date: Mon, 8 Jun 2026 13:47:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=AE=A1=E7=90=86=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E3=80=8C=E7=94=A8=E6=88=B7=E6=8E=92=E8=A1=8C?= =?UTF-8?q?=E6=A6=9C=E3=80=8D=E5=85=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 侧边栏综合管理与右上角工作区下拉菜单新增「用户排行榜」(admin only), 指向 /page/strategy/admin/user-leaderboard,并默认展开综合管理分组。 Co-Authored-By: Claude Opus 4.8 (1M context) --- .../workspace/workspace-nav-menu.tsx | 23 ++++++++++++++----- .../src/core/page-layout/sidebar-menu.ts | 9 ++++++++ 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/frontend-web/src/components/workspace/workspace-nav-menu.tsx b/frontend-web/src/components/workspace/workspace-nav-menu.tsx index 7bf03a18..265f58cc 100644 --- a/frontend-web/src/components/workspace/workspace-nav-menu.tsx +++ b/frontend-web/src/components/workspace/workspace-nav-menu.tsx @@ -17,6 +17,7 @@ import { ShieldCheckIcon, SparklesIcon, TagsIcon, + TrophyIcon, UsersIcon, } from "lucide-react"; import { useEffect, useState } from "react"; @@ -206,6 +207,16 @@ export function WorkspaceNavMenu() { 用户中心 )} + {isAdmin && ( + + navigate("/page/strategy/admin/user-leaderboard") + } + > + + 用户排行榜 + + )} {isAdmin && ( @@ -232,12 +243,12 @@ export function WorkspaceNavMenu() { 技能管理 )} - navigate("/page/workspace/admin/tags")} - > - - {t.adminTags.title} - + navigate("/page/workspace/admin/tags")} + > + + {t.adminTags.title} + {isAdmin && logSystem?.enabled && logSystem.url && ( diff --git a/frontend-web/src/core/page-layout/sidebar-menu.ts b/frontend-web/src/core/page-layout/sidebar-menu.ts index b06ccd8b..a3c0dffd 100644 --- a/frontend-web/src/core/page-layout/sidebar-menu.ts +++ b/frontend-web/src/core/page-layout/sidebar-menu.ts @@ -35,6 +35,7 @@ import { ShieldCheck, Sparkles, Target, + Trophy, Users, } from "lucide-react"; @@ -250,6 +251,13 @@ export const sidebarMenuItems: MenuItem[] = [ path: "/page/strategy/admin/users", adminOnly: true, }, + { + id: "mgmt-user-leaderboard", + label: "用户排行榜", + icon: Trophy, + path: "/page/strategy/admin/user-leaderboard", + adminOnly: true, + }, { id: "mgmt-admin-scheduled-tasks", label: "定时任务管理", @@ -300,6 +308,7 @@ export const defaultExpandedIds: ReadonlySet = new Set([ "light-app-note-management", "task-management", "xk-center-task", + "comprehensive-management", ]); /** 按 admin 角色过滤菜单:非 admin 不展示 ``adminOnly: true`` 的项及其子项 */