2
0
Просмотр исходного кода

♻️ refactor(admin): 统一替换菜单图标为lucide-react组件

- 移除@ant-design/icons依赖,统一使用lucide-react图标库
- 为所有菜单图标添加统一的尺寸类"h-4 w-4"确保显示一致性
- 替换图标组件: UserOutlined→User, DashboardOutlined→LayoutDashboard, TeamOutlined→Users等
- 优化图标导入方式,采用命名导入提高代码可读性
yourname 6 месяцев назад
Родитель
Сommit
e6caecf813
1 измененных файлов с 20 добавлено и 20 удалено
  1. 20 20
      src/client/admin/menu.tsx

+ 20 - 20
src/client/admin/menu.tsx

@@ -3,17 +3,17 @@ import { useNavigate } from 'react-router';
 import { useAuth } from './hooks/AuthProvider';
 import type { MenuProps } from 'antd';
 import {
-  UserOutlined,
-  DashboardOutlined,
-  TeamOutlined,
-  InfoCircleOutlined,
-  DatabaseOutlined,
-  FileTextOutlined,
-  LineChartOutlined,
-  CodeOutlined,
-  CalendarOutlined,
-} from '@ant-design/icons';
-import { File } from 'lucide-react';
+  User,
+  LayoutDashboard,
+  Users,
+  Info,
+  Database,
+  FileText,
+  LineChart,
+  Code,
+  Calendar,
+  File
+} from 'lucide-react';
 
 export interface MenuItem {
   key: string;
@@ -81,13 +81,13 @@ export const useMenu = () => {
     {
       key: 'dashboard',
       label: '控制台',
-      icon: <DashboardOutlined />,
+      icon: <LayoutDashboard className="h-4 w-4" />,
       path: '/admin/dashboard'
     },
     {
       key: 'users',
       label: '用户管理',
-      icon: <TeamOutlined />,
+      icon: <Users className="h-4 w-4" />,
       path: '/admin/users',
       permission: 'user:manage'
     },
@@ -101,35 +101,35 @@ export const useMenu = () => {
     {
       key: 'classroom-data',
       label: '教室数据管理',
-      icon: <DatabaseOutlined />,
+      icon: <Database className="h-4 w-4" />,
       path: '/admin/classroom-data',
       permission: 'classroom:manage'
     },
     {
       key: 'submission-records',
       label: '提交记录管理',
-      icon: <FileTextOutlined />,
+      icon: <FileText className="h-4 w-4" />,
       path: '/admin/submission-records',
       permission: 'submission:manage'
     },
     {
       key: 'stock-data',
       label: '股票数据管理',
-      icon: <LineChartOutlined />,
+      icon: <LineChart className="h-4 w-4" />,
       path: '/admin/stock-data',
       permission: 'stock:manage'
     },
     {
       key: 'stock-xunlian-codes',
       label: '训练代码管理',
-      icon: <CodeOutlined />,
+      icon: <Code className="h-4 w-4" />,
       path: '/admin/stock-xunlian-codes',
       permission: 'stock:manage'
     },
     {
       key: 'date-notes',
       label: '日期备注管理',
-      icon: <CalendarOutlined />,
+      icon: <Calendar className="h-4 w-4" />,
       path: '/admin/date-notes',
       permission: 'stock:manage'
     }
@@ -140,12 +140,12 @@ export const useMenu = () => {
     {
       key: 'profile',
       label: '个人资料',
-      icon: <UserOutlined />
+      icon: <User className="h-4 w-4" />
     },
     {
       key: 'logout',
       label: '退出登录',
-      icon: <InfoCircleOutlined />,
+      icon: <Info className="h-4 w-4" />,
       danger: true,
       onClick: () => handleLogout()
     }