feat: bugfix

This commit is contained in:
zdl
2025-10-31 10:33:53 +08:00
parent f05daa3a78
commit 5d8ad5e442
34 changed files with 314 additions and 3579 deletions

View File

@@ -69,9 +69,10 @@ const DesktopNav = memo(({ isAuthenticated, user }) => {
>
高频跟踪
</MenuButton>
<MenuList minW="260px" p={2} onMouseEnter={onHighFreqOpen} onMouseLeave={onHighFreqClose}>
<MenuList minW="260px" p={2} onMouseEnter={onHighFreqOpen}>
<MenuItem
onClick={() => {
onHighFreqClose(); // 先关闭菜单
// 🎯 追踪菜单项点击
navEvents.trackMenuItemClicked('事件中心', 'dropdown', '/community');
navigate('/community');
@@ -92,6 +93,7 @@ const DesktopNav = memo(({ isAuthenticated, user }) => {
</MenuItem>
<MenuItem
onClick={() => {
onHighFreqClose(); // 先关闭菜单
// 🎯 追踪菜单项点击
navEvents.trackMenuItemClicked('概念中心', 'dropdown', '/concepts');
navigate('/concepts');
@@ -127,9 +129,12 @@ const DesktopNav = memo(({ isAuthenticated, user }) => {
>
行情复盘
</MenuButton>
<MenuList minW="260px" p={2} onMouseEnter={onMarketReviewOpen} onMouseLeave={onMarketReviewClose}>
<MenuList minW="260px" p={2} onMouseEnter={onMarketReviewOpen}>
<MenuItem
onClick={() => navigate('/limit-analyse')}
onClick={() => {
onMarketReviewClose(); // 先关闭菜单
navigate('/limit-analyse');
}}
borderRadius="md"
bg={location.pathname.includes('/limit-analyse') ? 'blue.50' : 'transparent'}
borderLeft={location.pathname.includes('/limit-analyse') ? '3px solid' : 'none'}
@@ -142,7 +147,10 @@ const DesktopNav = memo(({ isAuthenticated, user }) => {
</Flex>
</MenuItem>
<MenuItem
onClick={() => navigate('/stocks')}
onClick={() => {
onMarketReviewClose(); // 先关闭菜单
navigate('/stocks');
}}
borderRadius="md"
bg={location.pathname.includes('/stocks') ? 'blue.50' : 'transparent'}
borderLeft={location.pathname.includes('/stocks') ? '3px solid' : 'none'}
@@ -155,7 +163,10 @@ const DesktopNav = memo(({ isAuthenticated, user }) => {
</Flex>
</MenuItem>
<MenuItem
onClick={() => navigate('/trading-simulation')}
onClick={() => {
onMarketReviewClose(); // 先关闭菜单
navigate('/trading-simulation');
}}
borderRadius="md"
bg={location.pathname.includes('/trading-simulation') ? 'blue.50' : 'transparent'}
borderLeft={location.pathname.includes('/trading-simulation') ? '3px solid' : 'none'}
@@ -181,7 +192,7 @@ const DesktopNav = memo(({ isAuthenticated, user }) => {
>
AGENT社群
</MenuButton>
<MenuList minW="300px" p={4} onMouseEnter={onAgentCommunityOpen} onMouseLeave={onAgentCommunityClose}>
<MenuList minW="300px" p={4} onMouseEnter={onAgentCommunityOpen}>
<MenuItem
isDisabled
cursor="not-allowed"
@@ -210,7 +221,7 @@ const DesktopNav = memo(({ isAuthenticated, user }) => {
>
联系我们
</MenuButton>
<MenuList minW="260px" p={4} onMouseEnter={onContactUsOpen} onMouseLeave={onContactUsClose}>
<MenuList minW="260px" p={4} onMouseEnter={onContactUsOpen}>
<Text fontSize="sm" color={contactTextColor}>敬请期待</Text>
</MenuList>
</Menu>

View File

@@ -52,11 +52,14 @@ const MoreMenu = memo(({ isAuthenticated, user }) => {
>
更多
</MenuButton>
<MenuList minW="300px" p={2} onMouseEnter={onOpen} onMouseLeave={onClose}>
<MenuList minW="300px" p={2} onMouseEnter={onOpen}>
{/* 高频跟踪组 */}
<Text fontSize="xs" fontWeight="bold" px={3} py={2} color="gray.500">高频跟踪</Text>
<MenuItem
onClick={() => navigate('/community')}
onClick={() => {
onClose(); // 先关闭菜单
navigate('/community');
}}
borderRadius="md"
bg={location.pathname.includes('/community') ? 'blue.50' : 'transparent'}
>
@@ -69,7 +72,10 @@ const MoreMenu = memo(({ isAuthenticated, user }) => {
</Flex>
</MenuItem>
<MenuItem
onClick={() => navigate('/concepts')}
onClick={() => {
onClose(); // 先关闭菜单
navigate('/concepts');
}}
borderRadius="md"
bg={location.pathname.includes('/concepts') ? 'blue.50' : 'transparent'}
>
@@ -84,7 +90,10 @@ const MoreMenu = memo(({ isAuthenticated, user }) => {
{/* 行情复盘组 */}
<Text fontSize="xs" fontWeight="bold" px={3} py={2} color="gray.500">行情复盘</Text>
<MenuItem
onClick={() => navigate('/limit-analyse')}
onClick={() => {
onClose(); // 先关闭菜单
navigate('/limit-analyse');
}}
borderRadius="md"
bg={location.pathname.includes('/limit-analyse') ? 'blue.50' : 'transparent'}
>
@@ -94,7 +103,10 @@ const MoreMenu = memo(({ isAuthenticated, user }) => {
</Flex>
</MenuItem>
<MenuItem
onClick={() => navigate('/stocks')}
onClick={() => {
onClose(); // 先关闭菜单
navigate('/stocks');
}}
borderRadius="md"
bg={location.pathname.includes('/stocks') ? 'blue.50' : 'transparent'}
>
@@ -104,7 +116,10 @@ const MoreMenu = memo(({ isAuthenticated, user }) => {
</Flex>
</MenuItem>
<MenuItem
onClick={() => navigate('/trading-simulation')}
onClick={() => {
onClose(); // 先关闭菜单
navigate('/trading-simulation');
}}
borderRadius="md"
bg={location.pathname.includes('/trading-simulation') ? 'blue.50' : 'transparent'}
>

View File

@@ -57,7 +57,7 @@ const PersonalCenterMenu = memo(({ user, handleLogout }) => {
>
个人中心
</MenuButton>
<MenuList onMouseEnter={onOpen} onMouseLeave={onClose}>
<MenuList onMouseEnter={onOpen}>
{/* 用户信息区 */}
<Box px={3} py={2} borderBottom="1px" borderColor="gray.200">
<Text fontSize="sm" fontWeight="bold">{getDisplayName()}</Text>
@@ -71,24 +71,36 @@ const PersonalCenterMenu = memo(({ user, handleLogout }) => {
</Box>
{/* 前往个人中心 */}
<MenuItem icon={<FiHome />} onClick={() => navigate('/home/center')}>
<MenuItem icon={<FiHome />} onClick={() => {
onClose(); // 先关闭菜单
navigate('/home/center');
}}>
前往个人中心
</MenuItem>
<MenuDivider />
{/* 账户管理组 */}
<MenuItem icon={<FiUser />} onClick={() => navigate('/home/profile')}>
<MenuItem icon={<FiUser />} onClick={() => {
onClose(); // 先关闭菜单
navigate('/home/profile');
}}>
个人资料
</MenuItem>
<MenuItem icon={<FiSettings />} onClick={() => navigate('/home/settings')}>
<MenuItem icon={<FiSettings />} onClick={() => {
onClose(); // 先关闭菜单
navigate('/home/settings');
}}>
账户设置
</MenuItem>
<MenuDivider />
{/* 功能入口组 */}
<MenuItem icon={<FaCrown />} onClick={() => navigate('/home/pages/account/subscription')}>
<MenuItem icon={<FaCrown />} onClick={() => {
onClose(); // 先关闭菜单
navigate('/home/pages/account/subscription');
}}>
订阅管理
</MenuItem>