diff --git a/src/views/Profile/components/WatchSidebar/components/FollowingEventsPanel.js b/src/views/Profile/components/WatchSidebar/components/FollowingEventsPanel.js index 1d0031eb..15fe2a66 100644 --- a/src/views/Profile/components/WatchSidebar/components/FollowingEventsPanel.js +++ b/src/views/Profile/components/WatchSidebar/components/FollowingEventsPanel.js @@ -112,61 +112,62 @@ const EventsTabContent = ({ events, onEventClick, onAddEvent }) => { } return ( - - {events.slice(0, 6).map((event) => { - const avgChg = event.related_avg_chg; - const isUp = avgChg > 0; - const changeColor = isUp ? '#EF4444' : avgChg < 0 ? '#22C55E' : 'rgba(255, 255, 255, 0.6)'; + + + {events.map((event) => { + const avgChg = event.related_avg_chg; + const isUp = avgChg > 0; + const changeColor = isUp ? '#EF4444' : avgChg < 0 ? '#22C55E' : 'rgba(255, 255, 255, 0.6)'; - return ( - onEventClick?.(event)} - > - onEventClick?.(event)} > - {event.title} - - - - - {event.follower_count || 0} + + {event.title} + + + + + {event.follower_count || 0} + + {avgChg !== undefined && avgChg !== null && ( + + {isUp ? '+' : ''}{Number(avgChg).toFixed(2)}% + + )} - {avgChg !== undefined && avgChg !== null && ( - - {isUp ? '+' : ''}{Number(avgChg).toFixed(2)}% - - )} - - - ); - })} - {events.length > 6 && ( - - 查看全部 ({events.length}) - - )} - + + ); + })} + + ); }; diff --git a/src/views/Profile/components/WatchSidebar/components/MyCommentsTab.js b/src/views/Profile/components/WatchSidebar/components/MyCommentsTab.js index 93def119..1769908c 100644 --- a/src/views/Profile/components/WatchSidebar/components/MyCommentsTab.js +++ b/src/views/Profile/components/WatchSidebar/components/MyCommentsTab.js @@ -33,10 +33,7 @@ const truncateText = (text, maxLength = 50) => { const MyCommentsTab = ({ comments = [], onCommentClick, - maxDisplay = 5, }) => { - const displayComments = comments.slice(0, maxDisplay); - if (comments.length === 0) { return ( @@ -49,72 +46,72 @@ const MyCommentsTab = ({ } return ( - - {displayComments.map((comment) => ( - onCommentClick?.(comment)} - > - {/* 评论内容 */} - + + {comments.map((comment) => ( + onCommentClick?.(comment)} > - {truncateText(comment.content, 60)} - - - {/* 关联事件 */} - {comment.event_title && ( + {/* 评论内容 */} - 📌 {truncateText(comment.event_title, 30)} + {truncateText(comment.content, 60)} - )} - {/* 底部信息:点赞、回复、时间 */} - - - - - {comment.like_count || 0} - - - - {comment.reply_count || 0} + {/* 关联事件 */} + {comment.event_title && ( + + 📌 {truncateText(comment.event_title, 30)} + + )} + + {/* 底部信息:点赞、回复、时间 */} + + + + + {comment.like_count || 0} + + + + {comment.reply_count || 0} + + {formatRelativeTime(comment.created_at)} - {formatRelativeTime(comment.created_at)} - - - ))} - - {/* 查看更多 */} - {comments.length > maxDisplay && ( - - 查看全部 ({comments.length}) - - )} - + + ))} + + ); }; diff --git a/src/views/Profile/components/WatchSidebar/components/WatchlistPanel.js b/src/views/Profile/components/WatchSidebar/components/WatchlistPanel.js index 8f252d71..735ec9b8 100644 --- a/src/views/Profile/components/WatchSidebar/components/WatchlistPanel.js +++ b/src/views/Profile/components/WatchSidebar/components/WatchlistPanel.js @@ -32,81 +32,82 @@ const WatchlistPanel = ({ /> - {/* 股票列表 */} - - {watchlist.length === 0 ? ( - - - - 添加自选股 - - - ) : ( - watchlist.slice(0, 8).map((stock) => { - const quote = realtimeQuotes[stock.stock_code]; - const changePercent = quote?.change_percent ?? stock.change_percent; - const isUp = changePercent > 0; - const changeColor = isUp ? '#EF4444' : changePercent < 0 ? '#22C55E' : 'rgba(255, 255, 255, 0.6)'; - - return ( - onStockClick?.(stock)} - > - - - {stock.stock_name || stock.stock_code} - - - {stock.stock_code} - - - - - {quote?.current_price?.toFixed(2) || stock.current_price || '--'} - - - {changePercent !== undefined && changePercent !== null - ? `${isUp ? '+' : ''}${Number(changePercent).toFixed(2)}%` - : '--'} - - - - ); - }) - )} - {watchlist.length > 8 && ( - - 查看全部 ({watchlist.length}) + {/* 股票列表 - 固定高度可滚动 */} + {watchlist.length === 0 ? ( + + + + 添加自选股 - )} - + + ) : ( + + + {watchlist.map((stock) => { + const quote = realtimeQuotes[stock.stock_code]; + const changePercent = quote?.change_percent ?? stock.change_percent; + const isUp = changePercent > 0; + const changeColor = isUp ? '#EF4444' : changePercent < 0 ? '#22C55E' : 'rgba(255, 255, 255, 0.6)'; + + return ( + onStockClick?.(stock)} + > + + + {stock.stock_name || stock.stock_code} + + + {stock.stock_code} + + + + + {quote?.current_price?.toFixed(2) || stock.current_price || '--'} + + + {changePercent !== undefined && changePercent !== null + ? `${isUp ? '+' : ''}${Number(changePercent).toFixed(2)}%` + : '--'} + + + + ); + })} + + + )} ); };