diff --git a/web/src/components/layout/SiderBar.js b/web/src/components/layout/SiderBar.js index dbcb01df..cd623ded 100644 --- a/web/src/components/layout/SiderBar.js +++ b/web/src/components/layout/SiderBar.js @@ -20,7 +20,7 @@ For commercial licensing, please contact support@quantumnous.com import React, { useEffect, useMemo, useState } from 'react'; import { Link, useLocation } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; -import { getLucideIcon, sidebarIconColors } from '../../helpers/render.js'; +import { getLucideIcon } from '../../helpers/render.js'; import { ChevronLeft } from 'lucide-react'; import { useSidebarCollapsed } from '../../hooks/common/useSidebarCollapsed.js'; import { @@ -251,28 +251,8 @@ const SiderBar = ({ onNavigate = () => { } }) => { } }, [collapsed]); - // 获取菜单项对应的颜色 - const getItemColor = (itemKey) => { - switch (itemKey) { - case 'detail': return sidebarIconColors.dashboard; - case 'playground': return sidebarIconColors.terminal; - case 'chat': return sidebarIconColors.message; - case 'token': return sidebarIconColors.key; - case 'log': return sidebarIconColors.chart; - case 'midjourney': return sidebarIconColors.image; - case 'task': return sidebarIconColors.check; - case 'topup': return sidebarIconColors.credit; - case 'channel': return sidebarIconColors.layers; - case 'redemption': return sidebarIconColors.gift; - case 'user': - case 'personal': return sidebarIconColors.user; - case 'setting': return sidebarIconColors.settings; - default: - // 处理聊天项 - if (itemKey && itemKey.startsWith('chat')) return sidebarIconColors.message; - return 'currentColor'; - } - }; + // 选中高亮颜色(统一) + const SELECTED_COLOR = 'var(--semi-color-primary)'; // 渲染自定义菜单项 const renderNavItem = (item) => { @@ -280,7 +260,7 @@ const SiderBar = ({ onNavigate = () => { } }) => { if (item.className === 'tableHiddle') return null; const isSelected = selectedKeys.includes(item.itemKey); - const textColor = isSelected ? getItemColor(item.itemKey) : 'inherit'; + const textColor = isSelected ? SELECTED_COLOR : 'inherit'; return ( { } }) => { const renderSubItem = (item) => { if (item.items && item.items.length > 0) { const isSelected = selectedKeys.includes(item.itemKey); - const textColor = isSelected ? getItemColor(item.itemKey) : 'inherit'; + const textColor = isSelected ? SELECTED_COLOR : 'inherit'; return ( { } }) => { > {item.items.map((subItem) => { const isSubSelected = selectedKeys.includes(subItem.itemKey); - const subTextColor = isSubSelected ? getItemColor(subItem.itemKey) : 'inherit'; + const subTextColor = isSubSelected ? SELECTED_COLOR : 'inherit'; return ( ); case 'playground': return ( ); case 'chat': return ( ); case 'token': return ( ); case 'log': return ( ); case 'midjourney': return ( ); case 'task': return ( ); case 'topup': return ( ); case 'channel': return ( ); case 'redemption': return ( ); case 'user': @@ -176,28 +162,28 @@ export function getLucideIcon(key, selected = false) { return ( ); case 'models': return ( - ); case 'setting': return ( ); default: return ( ); }