heropanel修改

This commit is contained in:
2026-01-09 08:01:53 +08:00
parent eb61f6bc65
commit f054987241
2 changed files with 96 additions and 26 deletions

View File

@@ -465,6 +465,21 @@ const EventDailyStats = () => {
)}
</HStack>
<HStack spacing={1}>
{/* 今天按钮 - 仅在查看历史时显示 */}
{!isToday && (
<Box
px={2}
py={0.5}
bg="rgba(255,215,0,0.15)"
border="1px solid rgba(255,215,0,0.3)"
borderRadius="md"
cursor="pointer"
_hover={{ bg: 'rgba(255,215,0,0.25)' }}
onClick={() => setSelectedDate('')}
>
<Text fontSize="xs" color="#FFD700" fontWeight="bold">今天</Text>
</Box>
)}
<CalendarOutlined style={{ color: '#FFD700', fontSize: '12px' }} />
<Input
type="date"

View File

@@ -2536,6 +2536,81 @@ const CombinedCalendar = () => {
);
};
/**
* 右侧 Tab 面板 - 连板情绪监测 / 综合日历
*/
const RightPanelTabs = () => {
const [activeTab, setActiveTab] = useState('comet');
return (
<Box
bg="linear-gradient(180deg, rgba(25, 32, 55, 0.95) 0%, rgba(17, 24, 39, 0.98) 100%)"
borderRadius="xl"
border="1px solid"
borderColor="rgba(255, 215, 0, 0.15)"
h="100%"
display="flex"
flexDirection="column"
overflow="hidden"
>
{/* Tab 切换头 */}
<HStack
px={4}
py={2}
borderBottom="1px solid rgba(255,215,0,0.1)"
bg="rgba(0,0,0,0.2)"
spacing={0}
>
<Box
px={4}
py={2}
cursor="pointer"
borderRadius="md"
bg={activeTab === 'comet' ? 'rgba(255,215,0,0.15)' : 'transparent'}
color={activeTab === 'comet' ? '#FFD700' : 'gray.400'}
fontWeight={activeTab === 'comet' ? 'bold' : 'normal'}
fontSize="sm"
transition="all 0.2s"
_hover={{ color: '#FFD700', bg: 'rgba(255,215,0,0.08)' }}
onClick={() => setActiveTab('comet')}
>
<HStack spacing={2}>
<FireOutlined />
<Text>连板情绪监测</Text>
</HStack>
</Box>
<Box
px={4}
py={2}
cursor="pointer"
borderRadius="md"
bg={activeTab === 'calendar' ? 'rgba(255,215,0,0.15)' : 'transparent'}
color={activeTab === 'calendar' ? '#FFD700' : 'gray.400'}
fontWeight={activeTab === 'calendar' ? 'bold' : 'normal'}
fontSize="sm"
transition="all 0.2s"
_hover={{ color: '#FFD700', bg: 'rgba(255,215,0,0.08)' }}
onClick={() => setActiveTab('calendar')}
>
<HStack spacing={2}>
<CalendarOutlined />
<Text>事件日历</Text>
</HStack>
</Box>
</HStack>
{/* Tab 内容区域 */}
<Box flex="1" minH={0} p={3}>
{activeTab === 'comet' ? (
<ThemeCometChart />
) : (
<CombinedCalendar />
)}
</Box>
</Box>
);
};
/**
* 使用说明弹窗组件
*/
@@ -2710,36 +2785,16 @@ const HeroPanel = () => {
</HStack>
</Flex>
{/* AI舆情时空决策驾驶舱 - 左侧连板情绪,中间今日统计,右侧日历 */}
{/* AI舆情时空决策驾驶舱 - 左侧今日统计(2/5)右侧Tab切换(3/5) */}
<Flex gap={5}>
{/* 左侧:连板情绪监测 */}
<Box flex="1.15" minW="0">
<ThemeCometChart
onThemeSelect={(data) => {
// 当用户点击某个主题时,可以展示相关股票
if (data?.stocks?.length > 0) {
setSelectedSectorInfo({
name: data.theme.label,
count: data.stocks.length,
stocks: data.stocks.map((s) => ({
...s,
_continuousDays: parseInt(s.continuous_days) || 1,
})),
});
setSectorStocksModalVisible(true);
}
}}
/>
</Box>
{/* 中间:今日事件统计 */}
<Box flex="0.7" minW="0">
{/* 左侧:今日事件统计 */}
<Box flex="2" minW="0">
<EventDailyStats />
</Box>
{/* 右侧:综合日历 */}
<Box flex="1.15" minW="0">
<CombinedCalendar />
{/* 右侧:连板情绪 / 日历 Tab 切换 */}
<Box flex="3" minW="0">
<RightPanelTabs />
</Box>
</Flex>
</CardBody>