From c639b418f0196f2500d6db211f3b617b72d79e70 Mon Sep 17 00:00:00 2001 From: zdl <3489966805@qq.com> Date: Mon, 22 Dec 2025 16:51:27 +0800 Subject: [PATCH] =?UTF-8?q?refactor(Center):=20=E9=87=8D=E6=9E=84=E4=B8=AA?= =?UTF-8?q?=E4=BA=BA=E4=B8=AD=E5=BF=83=E4=B8=BA=E5=B7=A6=E5=8F=B3=E5=B8=83?= =?UTF-8?q?=E5=B1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 左侧自适应:投资仪表盘、规划中心、论坛 - 右侧固定200px:关注股票、关注事件 - 使用 THEME 黑金配色 - 宽度与导航栏保持一致 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- src/views/Dashboard/Center.js | 384 +++++----------------------------- 1 file changed, 58 insertions(+), 326 deletions(-) diff --git a/src/views/Dashboard/Center.js b/src/views/Dashboard/Center.js index 11386c2f..4e855d82 100644 --- a/src/views/Dashboard/Center.js +++ b/src/views/Dashboard/Center.js @@ -61,9 +61,13 @@ import { FiAlertCircle, FiUsers, } from 'react-icons/fi'; -import MyFutureEvents from './components/MyFutureEvents'; import InvestmentPlanningCenter from './components/InvestmentPlanningCenter'; import { getEventDetailUrl } from '@/utils/idEncoder'; +import MarketDashboard from '@views/Profile/components/MarketDashboard'; +import StrategyCenter from '@views/Profile/components/StrategyCenter'; +import ForumCenter from '@views/Profile/components/ForumCenter'; +import WatchSidebar from '@views/Profile/components/WatchSidebar'; +import { THEME } from '@views/Profile/components/MarketDashboard/constants'; export default function CenterDashboard() { const { user } = useAuth(); @@ -273,335 +277,63 @@ export default function CenterDashboard() { } return ( - - - {/* 主要内容区域 */} - - {/* 左列:自选股票 */} - - - - - - - 自选股票 - - {watchlist.length} - - {quotesLoading && } - - } - variant="ghost" - size="sm" - onClick={() => navigate('/stocks')} - aria-label="添加自选股" - /> - - - - {watchlist.length === 0 ? ( -
- - - - 暂无自选股 - - - -
- ) : ( - - {watchlist.slice(0, 10).map((stock) => ( - - - - - - {stock.stock_name || stock.stock_code} - - - - - {stock.stock_code} - - {realtimeQuotes[stock.stock_code] ? ( - 0 ? 'red' : 'green'} - fontSize="xs" - > - {realtimeQuotes[stock.stock_code].change_percent > 0 ? '+' : ''} - {realtimeQuotes[stock.stock_code].change_percent.toFixed(2)}% - - ) : stock.change_percent ? ( - 0 ? 'red' : 'green'} - fontSize="xs" - > - {stock.change_percent > 0 ? '+' : ''} - {stock.change_percent}% - - ) : null} - - - - - {realtimeQuotes[stock.stock_code]?.current_price?.toFixed(2) || stock.current_price || '--'} - - - {realtimeQuotes[stock.stock_code]?.update_time || stock.industry || '未分类'} - - - - - ))} - {watchlist.length > 10 && ( - - )} - - )} -
-
-
+ + + {/* 左右布局:左侧自适应,右侧固定200px */} + + {/* 左侧主内容区 */} + + {/* 市场概览仪表盘 */} + + + - {/* 中列:关注事件 */} - - {/* 关注事件 */} - - - - - - 关注事件 - - {followingEvents.length} - - - } - variant="ghost" - size="sm" - onClick={() => navigate('/community')} - aria-label="添加关注事件" - /> - - - - {followingEvents.length === 0 ? ( -
- - - - 暂无关注事件 - - - -
- ) : ( - - {followingEvents.slice(0, 5).map((event) => ( - - - - - {event.title} - - + {/* 投资规划中心 */} + + + - {/* 事件标签 */} - {event.tags && event.tags.length > 0 && ( - - {event.tags.slice(0, 3).map((tag, idx) => ( - - - {tag} - - - ))} - - )} + {/* 价值论坛 / 互动中心 */} + + + - {/* 事件统计 */} - - {event.related_avg_chg !== undefined && event.related_avg_chg !== null && ( - 0 ? 'red' : 'green'} - variant="subtle" - > - 平均超额 {event.related_avg_chg > 0 ? '+' : ''}{Number(event.related_avg_chg).toFixed(2)}% - - )} - - - {event.follower_count || 0} 关注 - - + {/* 投资规划中心(整合了日历、计划、复盘) */} + + + +
- {/* 事件信息 */} - - - - {event.creator?.username || '系统'} - · - {formatDate(event.created_at)} - - {event.exceed_expectation_score && ( - 70 ? 'red' : 'orange'} - variant="solid" - fontSize="xs" - > - 超预期 {event.exceed_expectation_score} - - )} - - - - ))} - {followingEvents.length > 5 && ( - - )} - - )} - - - - - - {/* 右列:我的评论 */} - - {/* 我的评论 */} - - - - - - 我的评论 - - {eventComments.length} - - - - - - {eventComments.length === 0 ? ( -
- - - - 暂无评论记录 - - - 参与事件讨论,分享您的观点 - - -
- ) : ( - - {eventComments.slice(0, 5).map((comment) => ( - - - - {comment.content} - - - - - {formatDate(comment.created_at)} - - {comment.event_title && ( - - - {comment.event_title} - - - )} - - - - ))} - {eventComments.length > 5 && ( - - 共 {eventComments.length} 条评论 - - )} - - )} -
-
-
-
- - {/* 投资规划中心(整合了日历、计划、复盘) */} - - - + {/* 右侧固定宽度侧边栏 */} + + navigate(`/company/${stock.stock_code}`)} + onEventClick={(event) => navigate(getEventDetailUrl(event.id))} + onAddStock={() => navigate('/stocks')} + onAddEvent={() => navigate('/community')} + /> + +
);