diff --git a/web/src/components/layout/HeaderBar.js b/web/src/components/layout/HeaderBar.js index ffb5fc6e..8e958212 100644 --- a/web/src/components/layout/HeaderBar.js +++ b/web/src/components/layout/HeaderBar.js @@ -17,7 +17,7 @@ along with this program. If not, see . For commercial licensing, please contact support@quantumnous.com */ -import React, { useContext, useEffect, useState, useRef } from 'react'; +import React, { useContext, useEffect, useState } from 'react'; import { Link, useNavigate, useLocation } from 'react-router-dom'; import { UserContext } from '../../context/User/index.js'; import { useSetTheme, useTheme } from '../../context/Theme/index.js'; @@ -63,7 +63,6 @@ const HeaderBar = ({ onMobileMenuToggle, drawerOpen }) => { const [logoLoaded, setLogoLoaded] = useState(false); let navigate = useNavigate(); const [currentLang, setCurrentLang] = useState(i18n.language); - const [mobileMenuOpen, setMobileMenuOpen] = useState(false); const location = useLocation(); const [noticeVisible, setNoticeVisible] = useState(false); const [unreadCount, setUnreadCount] = useState(0); @@ -157,7 +156,6 @@ const HeaderBar = ({ onMobileMenuToggle, drawerOpen }) => { userDispatch({ type: 'logout' }); localStorage.removeItem('user'); navigate('/login'); - setMobileMenuOpen(false); } const handleNewYearClick = () => { @@ -228,20 +226,12 @@ const HeaderBar = ({ onMobileMenuToggle, drawerOpen }) => { const handleLanguageChange = (lang) => { i18n.changeLanguage(lang); - setMobileMenuOpen(false); - }; - - const handleNavLinkClick = (itemKey) => { - if (itemKey === 'home') { - // styleDispatch(styleActions.setSider(false)); // This line is removed - } - setMobileMenuOpen(false); }; const renderNavLinks = (isMobileView = false, isLoading = false) => { if (isLoading) { const skeletonLinkClasses = isMobileView - ? 'flex items-center gap-1 p-3 w-full rounded-md' + ? 'flex items-center gap-1 p-1 w-full rounded-md' : 'flex items-center gap-1 p-2 rounded-md'; return Array(4) .fill(null) @@ -253,7 +243,7 @@ const HeaderBar = ({ onMobileMenuToggle, drawerOpen }) => { placeholder={ } /> @@ -263,8 +253,8 @@ const HeaderBar = ({ onMobileMenuToggle, drawerOpen }) => { return mainNavLinks.map((link) => { const commonLinkClasses = isMobileView - ? 'flex items-center gap-1 p-3 w-full text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-md transition-colors font-semibold' - : 'flex items-center gap-1 p-2 text-sm text-gray-700 dark:text-gray-300 hover:text-blue-600 dark:hover:text-blue-400 transition-colors rounded-md font-semibold'; + ? 'flex-shrink-0 flex items-center gap-1 p-1 font-semibold' + : 'flex-shrink-0 flex items-center gap-1 p-2 font-semibold'; const linkContent = ( {link.text} @@ -278,7 +268,6 @@ const HeaderBar = ({ onMobileMenuToggle, drawerOpen }) => { target='_blank' rel='noopener noreferrer' className={commonLinkClasses} - onClick={() => handleNavLinkClick(link.itemKey)} > {linkContent} @@ -295,7 +284,6 @@ const HeaderBar = ({ onMobileMenuToggle, drawerOpen }) => { key={link.itemKey} to={targetPath} className={commonLinkClasses} - onClick={() => handleNavLinkClick(link.itemKey)} > {linkContent} @@ -337,7 +325,6 @@ const HeaderBar = ({ onMobileMenuToggle, drawerOpen }) => { { navigate('/console/personal'); - setMobileMenuOpen(false); }} className="!px-3 !py-1.5 !text-sm !text-semi-color-text-0 hover:!bg-semi-color-fill-1 dark:!text-gray-200 dark:hover:!bg-blue-500 dark:hover:!text-white" > @@ -349,7 +336,6 @@ const HeaderBar = ({ onMobileMenuToggle, drawerOpen }) => { { navigate('/console/token'); - setMobileMenuOpen(false); }} className="!px-3 !py-1.5 !text-sm !text-semi-color-text-0 hover:!bg-semi-color-fill-1 dark:!text-gray-200 dark:hover:!bg-blue-500 dark:hover:!text-white" > @@ -361,7 +347,6 @@ const HeaderBar = ({ onMobileMenuToggle, drawerOpen }) => { { navigate('/console/topup'); - setMobileMenuOpen(false); }} className="!px-3 !py-1.5 !text-sm !text-semi-color-text-0 hover:!bg-semi-color-fill-1 dark:!text-gray-200 dark:hover:!bg-blue-500 dark:hover:!text-white" > @@ -426,7 +411,7 @@ const HeaderBar = ({ onMobileMenuToggle, drawerOpen }) => { return (
- handleNavLinkClick('login')} className="flex"> +
- handleNavLinkClick('home')} className="flex items-center gap-2 group ml-2"> -
- {(isLoading || !logoLoaded) && ( - - )} - logo -
-
-
- - } - > - - {systemName} - - - {(isSelfUseMode || isDemoSiteMode) && !isLoading && ( - - {isSelfUseMode ? t('自用模式') : t('演示站点')} - - )} -
-
- - {(isSelfUseMode || isDemoSiteMode) && !isLoading && ( -
- - {isSelfUseMode ? t('自用模式') : t('演示站点')} - -
)} - - + {(!isMobile || !isConsoleRoute) && ( + +
+ {(isLoading || !logoLoaded) && ( + + )} + logo +
+
+
+ + } + > + + {systemName} + + + {(isSelfUseMode || isDemoSiteMode) && !isLoading && ( + + {isSelfUseMode ? t('自用模式') : t('演示站点')} + + )} +
+
+ + )} + {/* 中间可滚动导航区域(全部设备)*/} + + + {/* 右侧用户信息及功能按钮 */}
{isNewYear && ( { onClick={handleNoticeOpen} theme="borderless" type="tertiary" + size='small' className="!p-1.5 !text-current focus:!bg-semi-color-fill-1 dark:focus:!bg-gray-700 !rounded-full !bg-semi-color-fill-0 dark:!bg-semi-color-fill-1 hover:!bg-semi-color-fill-1 dark:hover:!bg-semi-color-fill-2" /> @@ -644,22 +608,6 @@ const HeaderBar = ({ onMobileMenuToggle, drawerOpen }) => {
- -
-
- -
-
); }; diff --git a/web/src/components/settings/personal/components/UserInfoHeader.js b/web/src/components/settings/personal/components/UserInfoHeader.js index 39707dee..9a1b10db 100644 --- a/web/src/components/settings/personal/components/UserInfoHeader.js +++ b/web/src/components/settings/personal/components/UserInfoHeader.js @@ -54,7 +54,7 @@ const UserInfoHeader = ({ t, userState }) => { {getAvatarText()}
-
+
{getUsername()}
diff --git a/web/src/components/topup/RechargeCard.jsx b/web/src/components/topup/RechargeCard.jsx index a16f5cdb..ae1261f1 100644 --- a/web/src/components/topup/RechargeCard.jsx +++ b/web/src/components/topup/RechargeCard.jsx @@ -236,17 +236,14 @@ const RechargeCard = ({
)} -
) : ( -
- -
+ )} diff --git a/web/src/index.css b/web/src/index.css index 964beb02..17b75a10 100644 --- a/web/src/index.css +++ b/web/src/index.css @@ -375,6 +375,21 @@ code { } /* ==================== 滚动条样式统一管理 ==================== */ +/* 通用隐藏滚动条工具类 */ +.scrollbar-hide { + -ms-overflow-style: none; + /* IE and Edge */ + scrollbar-width: none; + /* Firefox */ +} + +.scrollbar-hide::-webkit-scrollbar { + width: 0 !important; + height: 0 !important; + display: none !important; + /* Chrome, Safari, Opera */ +} + /* 表格滚动条样式 */ .semi-table-body::-webkit-scrollbar { width: 6px;