Commit Graph

3992 Commits

Author SHA1 Message Date
zdl
b223be2f01 refactor: 提取翻页按钮为可复用组件
- 创建 PageNavigationButton 组件
  · 通过 direction 参数区分上一页/下一页
  · 内置主题适配和模式判断逻辑
  · 自动处理显示条件(只在单排/双排模式显示)

- 重构 EventScrollList
  · 删除重复的翻页按钮代码(减少 66 行)
  · 使用 PageNavigationButton 组件替换原有按钮
  · 移除未使用的导入(IconButton, ChevronLeftIcon, ChevronRightIcon)
  · 移除翻页按钮主题色定义(已移至子组件)

优点:
- 消除重复代码,提升可维护性
- 职责分离,逻辑更清晰
- 易于扩展(可添加首页/末页按钮)
2025-11-05 09:15:33 +08:00
zdl
8bf7fea915 feat: 实现动态新闻筛选功能并优化虚拟滚动
## 主要改进

### 1. 修复筛选功能
- **问题**: 筛选触发了 API 请求但列表未更新
- **根因**: fetchDynamicNews 硬编码 sort: 'new',未支持筛选参数
- **解决**:
  - Redux action 添加筛选参数支持 (sort, importance, q, date_range, industry_code)
  - DynamicNewsCard 监听 filters 变化并重新请求数据
  - 筛选时清空缓存并从第1页开始加载

### 2. 虚拟滚动优化
- 改造 VirtualizedFourRowGrid 支持多列布局
  - 添加 columnsPerRow prop (默认4列,传1实现单列)
  - 添加 CardComponent prop (支持不同卡片组件)
  - 单列模式使用更小的 gap 间距
- 纵向模式使用虚拟滚动 + 无限滚动
  - 左侧事件列表使用 VirtualizedFourRowGrid (columnsPerRow=1)
  - 使用 HorizontalDynamicNewsEventCard 横向卡片
  - 支持滚动到底部自动加载

### 3. UI 交互优化
- 默认模式改为纵向模式 (左侧列表 + 右侧详情)
- 四排/纵向模式不显示全局 loading 遮罩
- 四排模式弹窗在关闭时不渲染 (性能优化)
- 注释掉单排/双排按钮,只保留纵向和平铺模式

## 技术细节

**数据流**:
```
用户筛选 → updateFilters → filters state 更新
→ DynamicNewsCard useEffect 监听
→ dispatch(fetchDynamicNews({ ...filters, clearCache: true }))
→ API 请求(带筛选参数)
→ Redux state 更新 → 列表重新渲染
```

**虚拟滚动**:
- @tanstack/react-virtual 动态高度测量
- 80% 滚动深度触发无限加载
- 底部 loading 指示器(绝对定位)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-05 09:09:03 +08:00
zdl
188783a8d2 feat: 实现动态新闻筛选功能并优化虚拟滚动
## 主要改进

### 1. 修复筛选功能
- **问题**: 筛选触发了 API 请求但列表未更新
- **根因**: fetchDynamicNews 硬编码 sort: 'new',未支持筛选参数
- **解决**:
  - Redux action 添加筛选参数支持 (sort, importance, q, date_range, industry_code)
  - DynamicNewsCard 监听 filters 变化并重新请求数据
  - 筛选时清空缓存并从第1页开始加载

### 2. 虚拟滚动优化
- 改造 VirtualizedFourRowGrid 支持多列布局
  - 添加 columnsPerRow prop (默认4列,传1实现单列)
  - 添加 CardComponent prop (支持不同卡片组件)
  - 单列模式使用更小的 gap 间距
- 纵向模式使用虚拟滚动 + 无限滚动
  - 左侧事件列表使用 VirtualizedFourRowGrid (columnsPerRow=1)
  - 使用 HorizontalDynamicNewsEventCard 横向卡片
  - 支持滚动到底部自动加载

### 3. UI 交互优化
- 默认模式改为纵向模式 (左侧列表 + 右侧详情)
- 四排/纵向模式不显示全局 loading 遮罩
- 四排模式弹窗在关闭时不渲染 (性能优化)
- 注释掉单排/双排按钮,只保留纵向和平铺模式

## 技术细节

**数据流**:
```
用户筛选 → updateFilters → filters state 更新
→ DynamicNewsCard useEffect 监听
→ dispatch(fetchDynamicNews({ ...filters, clearCache: true }))
→ API 请求(带筛选参数)
→ Redux state 更新 → 列表重新渲染
```

**虚拟滚动**:
- @tanstack/react-virtual 动态高度测量
- 80% 滚动深度触发无限加载
- 底部 loading 指示器(绝对定位)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-05 09:09:03 +08:00
zdl
339a52dc3c feat: 去掉市场复盘相关代码 2025-11-05 09:06:02 +08:00
zdl
d7f27e428b feat: 去掉市场复盘相关代码 2025-11-05 09:06:02 +08:00
zdl
5aaa61ce4e feat: 集成四排/纵向模式UI和优化交互逻辑
VirtualizedFourRowGrid:
- 组件通用化,支持多列布局(通过 columnsPerRow 参数配置)
- 支持自定义卡片组件(通过 CardComponent 参数传入)
- 根据列数动态调整间距

EventScrollList:
- 添加四排和纵向模式切换按钮
- 集成 VirtualizedFourRowGrid 组件(四排模式使用4列,纵向模式使用1列)
- 添加纵向分栏布局(1:2 比例,左侧列表+右侧详情)
- 启用纵向滚动和统一滚动条样式
- 接收新 props: displayEvents, isAccumulateMode, loadNextPage, onFourRowEventClick

DynamicNewsCard:
- 添加 Modal 弹窗显示四排模式详情
- 优化自动选中逻辑:
  · 首次加载时自动选中第一个事件
  · 翻页时,单排/双排/纵向模式自动选中当前页第一个事件(保持详情显示)
  · 翻页时,四排模式清空选中状态(通过弹窗显示详情)
- 传递新 props 到 EventScrollList
- 添加调试日志
2025-11-05 08:56:44 +08:00
zdl
f9387ffbd9 feat: 集成四排/纵向模式UI和优化交互逻辑
VirtualizedFourRowGrid:
- 组件通用化,支持多列布局(通过 columnsPerRow 参数配置)
- 支持自定义卡片组件(通过 CardComponent 参数传入)
- 根据列数动态调整间距

EventScrollList:
- 添加四排和纵向模式切换按钮
- 集成 VirtualizedFourRowGrid 组件(四排模式使用4列,纵向模式使用1列)
- 添加纵向分栏布局(1:2 比例,左侧列表+右侧详情)
- 启用纵向滚动和统一滚动条样式
- 接收新 props: displayEvents, isAccumulateMode, loadNextPage, onFourRowEventClick

DynamicNewsCard:
- 添加 Modal 弹窗显示四排模式详情
- 优化自动选中逻辑:
  · 首次加载时自动选中第一个事件
  · 翻页时,单排/双排/纵向模式自动选中当前页第一个事件(保持详情显示)
  · 翻页时,四排模式清空选中状态(通过弹窗显示详情)
- 传递新 props 到 EventScrollList
- 添加调试日志
2025-11-05 08:56:44 +08:00
zdl
47082d6fb0 feat: 虚拟化网格组件通用化 │ │
│ │                                                                                                                                                   │ │
│ │ - 支持多列布局(columnsPerRow 参数,默认4列)                                                                                                     │ │
│ │ - 支持自定义卡片组件(CardComponent 参数)                                                                                                        │ │
│ │ - 根据列数动态调整间距(单列 gap=3,多列 gap=4)                                                                                                  │ │
│ │ - 更新注释和文档
2025-11-05 08:53:07 +08:00
zdl
be0c53b588 feat: 虚拟化网格组件通用化 │ │
│ │                                                                                                                                                   │ │
│ │ - 支持多列布局(columnsPerRow 参数,默认4列)                                                                                                     │ │
│ │ - 支持自定义卡片组件(CardComponent 参数)                                                                                                        │ │
│ │ - 根据列数动态调整间距(单列 gap=3,多列 gap=4)                                                                                                  │ │
│ │ - 更新注释和文档
2025-11-05 08:53:07 +08:00
zdl
e9c66830d5 feat: git commit -m "feat: 简化分页逻辑并添加累积模式支持 │ │
│ │                                                                                                                                                   │ │
│ │ - 移除复杂的预加载逻辑(calculatePreloadRange、findMissingPages)                                                                                 │ │
│ │ - 添加累积显示模式(accumulatedEvents、isAccumulateMode)                                                                                         │ │
│ │ - 添加 displayEvents(累积或分页二选一)                                                                                                          │ │
│ │ - 添加 loadNextPage 方法用于无限滚动                                                                                                              │ │
│ │ - 支持4种显示模式的pageSize计算                                                                                                                   │ │
│ │ - 简化 handlePageChange 逻辑"
2025-11-05 08:42:10 +08:00
zdl
de1b31c70e feat: git commit -m "feat: 简化分页逻辑并添加累积模式支持 │ │
│ │                                                                                                                                                   │ │
│ │ - 移除复杂的预加载逻辑(calculatePreloadRange、findMissingPages)                                                                                 │ │
│ │ - 添加累积显示模式(accumulatedEvents、isAccumulateMode)                                                                                         │ │
│ │ - 添加 displayEvents(累积或分页二选一)                                                                                                          │ │
│ │ - 添加 loadNextPage 方法用于无限滚动                                                                                                              │ │
│ │ - 支持4种显示模式的pageSize计算                                                                                                                   │ │
│ │ - 简化 handlePageChange 逻辑"
2025-11-05 08:42:10 +08:00
zdl
59a0e07b6a feat: 创建无限滚动Hook │ │
│ │                                                                                                                                                   │ │
│ │ - 监听容器滚动事件                                                                                                                                │ │
│ │ - 距离底部阈值可配置(默认200px)                                                                                                                 │ │
│ │ - 自动触发onLoadMore回调                                                                                                                          │ │
│ │ - 支持加载状态管理
2025-11-05 08:39:28 +08:00
zdl
d96ebd6b8c feat: 创建无限滚动Hook │ │
│ │                                                                                                                                                   │ │
│ │ - 监听容器滚动事件                                                                                                                                │ │
│ │ - 距离底部阈值可配置(默认200px)                                                                                                                 │ │
│ │ - 自动触发onLoadMore回调                                                                                                                          │ │
│ │ - 支持加载状态管理
2025-11-05 08:39:28 +08:00
zdl
265c5a2019 feat: 创建虚拟化四排网格组件 2025-11-05 08:32:54 +08:00
zdl
67127aa615 feat: 创建虚拟化四排网格组件 2025-11-05 08:32:54 +08:00
zdl
5640126095 feat: feat: 实现事件详情子模块懒加载useEventStocks添加 autoLoad 参数和分离加载函数 │ │
│ │   - DynamicNewsDetailPanel实现子模块折叠和懒加载
2025-11-05 08:29:44 +08:00
zdl
e7c495a8b1 feat: feat: 实现事件详情子模块懒加载useEventStocks添加 autoLoad 参数和分离加载函数 │ │
│ │   - DynamicNewsDetailPanel实现子模块折叠和懒加载
2025-11-05 08:29:44 +08:00
zdl
a195aa3d92 feat: 创建纵向模式的横向卡片组件 2025-11-05 08:26:05 +08:00
zdl
e0cfa6fab2 feat: 创建纵向模式的横向卡片组件 2025-11-05 08:26:05 +08:00
zdl
f150ed172e feat: 添加 @tanstack/react-virtual 依赖 2025-11-05 08:24:28 +08:00
zdl
c51d3811e5 feat: 添加 @tanstack/react-virtual 依赖 2025-11-05 08:24:28 +08:00
zdl
38a0dff6e9 feat: 概念股票列表支持滚动查看全部数据 2025-11-05 08:12:03 +08:00
zdl
8fe13c9fa4 feat: 概念股票列表支持滚动查看全部数据 2025-11-05 08:12:03 +08:00
zdl
51d168d9be feat:使用 ref 避免 filters 依赖导致回调重新创建 2025-11-05 08:11:30 +08:00
zdl
e6c422887c feat:使用 ref 避免 filters 依赖导致回调重新创建 2025-11-05 08:11:30 +08:00
zdl
30704c52ab feat: 添加 FOUR_ROW 和 VERTICAL 模式常量及页面大小配置 2025-11-05 08:09:44 +08:00
zdl
7e110111c4 feat: 添加 FOUR_ROW 和 VERTICAL 模式常量及页面大小配置 2025-11-05 08:09:44 +08:00
zdl
28f51beecd feat: 修改更新依赖 2025-11-04 20:19:01 +08:00
zdl
38d1b51af3 feat: 修改更新依赖 2025-11-04 20:19:01 +08:00
zdl
3e34eb884d feat: 调整mock数据 2025-11-04 20:17:56 +08:00
zdl
c7334191e5 feat: 调整mock数据 2025-11-04 20:17:56 +08:00
zdl
da19cc33af feat: 历史事件对比没数据数量展示0 2025-11-04 20:07:21 +08:00
zdl
7fdc9e26af feat: 历史事件对比没数据数量展示0 2025-11-04 20:07:21 +08:00
zdl
33e086f332 feat: 关闭posthog日志 2025-11-04 19:51:41 +08:00
zdl
7f01a391e0 feat: 关闭posthog日志 2025-11-04 19:51:41 +08:00
zdl
17df66024b feat: 历史事件添加涨幅字段 2025-11-04 19:50:32 +08:00
zdl
58db08ca22 feat: 历史事件添加涨幅字段 2025-11-04 19:50:32 +08:00
zdl
7169c38836 feat: 添加超预期的分提示 2025-11-04 19:39:46 +08:00
zdl
bf75f9b387 feat: 添加超预期的分提示 2025-11-04 19:39:46 +08:00
zdl
cc9097815f feat: 添加合规提示 2025-11-04 19:26:18 +08:00
zdl
2a59e9edb2 feat: 添加合规提示 2025-11-04 19:26:18 +08:00
zdl
be83fa12e2 feat: 行业标签展示文字 2025-11-04 19:17:39 +08:00
zdl
87476226c3 feat: 行业标签展示文字 2025-11-04 19:17:39 +08:00
zdl
355f3cadb7 feat: 相关概念UI调整 2025-11-04 18:22:26 +08:00
zdl
76360102bb feat: 相关概念UI调整 2025-11-04 18:22:26 +08:00
zdl
ecb3cb479d feature: 重要性支持多选 2025-11-04 17:53:42 +08:00
zdl
1a3987afe0 feature: 重要性支持多选 2025-11-04 17:53:42 +08:00
zdl
31ab1d2dae feat: 添加缺失的图标文件(logo192.png, badge.png) 2025-11-04 17:46:53 +08:00
zdl
a512f3bd7e feat: 添加缺失的图标文件(logo192.png, badge.png) 2025-11-04 17:46:53 +08:00
zdl
60a9101bee pref: 优化 useEffect 依赖和清理逻辑 2025-11-04 16:01:56 +08:00