refactor: Community 目录结构重组 + 修复导入路径 + 添加 Mock 数据

## 目录重构
- DynamicNewsCard/ → DynamicNews/(含 layouts/, hooks/ 子目录)
- EventCard 原子组件 → EventCard/atoms/
- EventDetailModal 独立目录化
- HotEvents 独立目录化(含 CSS)
- SearchFilters 独立目录化(CompactSearchBox, TradingTimeFilter)

## 导入路径修复
- EventCard/*.js: 统一使用 @constants/, @utils/, @components/ 别名
- atoms/*.js: 修复移动后的相对路径问题
- DynamicNewsCard.js: 更新 contexts, store, constants 导入
- EventHeaderInfo.js, CompactMetaBar.js: 修复 EventFollowButton 导入

## Mock Handler 添加
- /api/events/:eventId/expectation-score - 事件超预期得分
- /api/index/:indexCode/realtime - 指数实时行情

## 警告修复
- CitationMark.js: overlayInnerStyle → styles (Antd 5.x)
- CitedContent.js: 移除不支持的 jsx 属性

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
zdl
2025-12-09 13:16:43 +08:00
parent c704b12bce
commit 15f5c445c5
47 changed files with 409 additions and 76 deletions

View File

@@ -0,0 +1,58 @@
// src/views/Community/components/EventCard/EventStats.js
import React from 'react';
import { HStack, Text, Tooltip } from '@chakra-ui/react';
import { ViewIcon, ChatIcon, StarIcon } from '@chakra-ui/icons';
/**
* 事件统计信息组件(浏览量、帖子数、关注数)
* @param {Object} props
* @param {number} props.viewCount - 浏览量
* @param {number} props.postCount - 帖子数
* @param {number} props.followerCount - 关注数
* @param {string} props.size - 尺寸('sm' | 'md',默认 'sm'
* @param {number} props.spacing - 间距(默认 3
* @param {Object} props.display - 响应式显示控制(默认 { base: 'none', md: 'flex' }
* @param {string} props.mutedColor - 文字颜色(可选)
*/
const EventStats = ({
viewCount = 0,
postCount = 0,
followerCount = 0,
size = 'sm',
spacing = 3,
display = { base: 'none', md: 'flex' },
mutedColor
}) => {
const fontSize = size === 'sm' ? 'xs' : 'sm';
const iconSize = size === 'sm' ? '12px' : '16px';
return (
<HStack spacing={spacing} display={display} color={mutedColor}>
{/* 浏览量 */}
<Tooltip label="浏览量" placement="top">
<HStack spacing={1}>
<ViewIcon boxSize={iconSize} />
<Text fontSize={fontSize}>{viewCount}</Text>
</HStack>
</Tooltip>
{/* 帖子数 */}
<Tooltip label="帖子数" placement="top">
<HStack spacing={1}>
<ChatIcon boxSize={iconSize} />
<Text fontSize={fontSize}>{postCount}</Text>
</HStack>
</Tooltip>
{/* 关注数 */}
<Tooltip label="关注数" placement="top">
<HStack spacing={1}>
<StarIcon boxSize={iconSize} />
<Text fontSize={fontSize}>{followerCount}</Text>
</HStack>
</Tooltip>
</HStack>
);
};
export default EventStats;