Merge branch 'feature_bugfix/251201_vf_h5_ui' into feature_2025/251209_stock_pref

* feature_bugfix/251201_vf_h5_ui:
  feat: 事件关注功能优化 - Redux 乐观更新 + Mock 数据状态同步
  feat: 投资日历自选股功能优化 - Redux 集成 + 乐观更新
  fix: 修复投资日历切换月份时自动打开事件弹窗的问题
  fix: 修复 CompanyOverview 中 Hooks 顺序错误
This commit is contained in:
zdl
2025-12-09 16:36:46 +08:00
7 changed files with 220 additions and 55 deletions

View File

@@ -910,6 +910,11 @@ const CompanyAnalysisComplete = ({ stockCode: propStockCode }) => {
const toast = useToast();
const bgColor = useColorModeValue('gray.50', 'gray.900');
const cardBg = useColorModeValue('white', 'gray.800');
// 高亮区域颜色(修复:不能在 JSX 中调用 hooks
const blueBg = useColorModeValue('blue.50', 'blue.900');
const greenBg = useColorModeValue('green.50', 'green.900');
const purpleBg = useColorModeValue('purple.50', 'purple.900');
const orangeBg = useColorModeValue('orange.50', 'orange.900');
const { isOpen: isAnnouncementOpen, onOpen: onAnnouncementOpen, onClose: onAnnouncementClose } = useDisclosure();
const [selectedAnnouncement, setSelectedAnnouncement] = useState(null);
@@ -1377,7 +1382,7 @@ const CompanyAnalysisComplete = ({ stockCode: propStockCode }) => {
<GridItem colSpan={{ base: 2, md: 1 }}>
<VStack align="stretch" spacing={3}>
<Text fontWeight="bold" fontSize="sm" color="gray.600">投资亮点</Text>
<Box p={3} bg={useColorModeValue('blue.50', 'blue.900')} borderRadius="md">
<Box p={3} bg={blueBg} borderRadius="md">
<Text fontSize="sm" whiteSpace="pre-wrap">
{comprehensiveData.qualitative_analysis.core_positioning?.investment_highlights || '暂无数据'}
</Text>
@@ -1388,7 +1393,7 @@ const CompanyAnalysisComplete = ({ stockCode: propStockCode }) => {
<GridItem colSpan={{ base: 2, md: 1 }}>
<VStack align="stretch" spacing={3}>
<Text fontWeight="bold" fontSize="sm" color="gray.600">商业模式</Text>
<Box p={3} bg={useColorModeValue('green.50', 'green.900')} borderRadius="md">
<Box p={3} bg={greenBg} borderRadius="md">
<Text fontSize="sm" whiteSpace="pre-wrap">
{comprehensiveData.qualitative_analysis.core_positioning?.business_model_desc || '暂无数据'}
</Text>
@@ -1786,7 +1791,7 @@ const CompanyAnalysisComplete = ({ stockCode: propStockCode }) => {
<GridItem colSpan={{ base: 2, md: 1 }}>
<VStack align="stretch" spacing={3}>
<Text fontWeight="bold" fontSize="sm" color="gray.600">战略方向</Text>
<Box p={4} bg={useColorModeValue('purple.50', 'purple.900')} borderRadius="md">
<Box p={4} bg={purpleBg} borderRadius="md">
<Text fontSize="sm">
{comprehensiveData.qualitative_analysis.strategy.strategy_description || '暂无数据'}
</Text>
@@ -1797,7 +1802,7 @@ const CompanyAnalysisComplete = ({ stockCode: propStockCode }) => {
<GridItem colSpan={{ base: 2, md: 1 }}>
<VStack align="stretch" spacing={3}>
<Text fontWeight="bold" fontSize="sm" color="gray.600">战略举措</Text>
<Box p={4} bg={useColorModeValue('orange.50', 'orange.900')} borderRadius="md">
<Box p={4} bg={orangeBg} borderRadius="md">
<Text fontSize="sm">
{comprehensiveData.qualitative_analysis.strategy.strategic_initiatives || '暂无数据'}
</Text>