From ad8ff500013c85211af83359327c9c3cfeeeacff Mon Sep 17 00:00:00 2001 From: zzlgreat Date: Fri, 14 Nov 2025 08:09:18 +0800 Subject: [PATCH] update ui --- .../DynamicNewsDetail/StockListItem.js | 49 ++++++++++--------- .../components/HistoricalEvents.js | 9 ++-- .../EventDetail/components/RelatedConcepts.js | 39 +++++++++++---- 3 files changed, 59 insertions(+), 38 deletions(-) diff --git a/src/views/Community/components/DynamicNewsDetail/StockListItem.js b/src/views/Community/components/DynamicNewsDetail/StockListItem.js index c85b3c83..d10adfb5 100644 --- a/src/views/Community/components/DynamicNewsDetail/StockListItem.js +++ b/src/views/Community/components/DynamicNewsDetail/StockListItem.js @@ -21,6 +21,7 @@ import MiniKLineChart from './MiniKLineChart'; import StockChartModal from '../../../../components/StockChart/StockChartModal'; import CitedContent from '../../../../components/Citation/CitedContent'; import { getChangeColor } from '../../../../utils/colorUtils'; +import { PROFESSIONAL_COLORS } from '../../../../constants/professionalTheme'; /** * 股票卡片组件 @@ -42,12 +43,12 @@ const StockListItem = ({ isInWatchlist = false, onWatchlistToggle }) => { - const cardBg = useColorModeValue('white', 'gray.800'); - const borderColor = useColorModeValue('gray.200', 'gray.700'); - const codeColor = useColorModeValue('blue.600', 'blue.300'); - const nameColor = useColorModeValue('gray.700', 'gray.300'); - const descColor = useColorModeValue('gray.600', 'gray.400'); - const dividerColor = useColorModeValue('gray.200', 'gray.600'); + const cardBg = PROFESSIONAL_COLORS.background.card; + const borderColor = PROFESSIONAL_COLORS.border.default; + const codeColor = '#3B82F6'; + const nameColor = PROFESSIONAL_COLORS.text.primary; + const descColor = PROFESSIONAL_COLORS.text.secondary; + const dividerColor = PROFESSIONAL_COLORS.border.default; const [isDescExpanded, setIsDescExpanded] = useState(false); const [isModalOpen, setIsModalOpen] = useState(false); @@ -195,11 +196,11 @@ const StockListItem = ({ { e.stopPropagation(); setIsModalOpen(true); @@ -210,15 +211,15 @@ const StockListItem = ({ spacing={0} h="fit-content" _hover={{ - borderColor: useColorModeValue('blue.300', 'blue.500'), - boxShadow: 'md', + borderColor: '#3B82F6', + boxShadow: '0 0 10px rgba(59, 130, 246, 0.3)', transform: 'translateY(-1px)' }} transition="all 0.2s" > { e.stopPropagation(); setIsModalOpen(true); @@ -252,15 +253,15 @@ const StockListItem = ({ spacing={0} h="fit-content" _hover={{ - borderColor: useColorModeValue('purple.300', 'purple.500'), - boxShadow: 'md', + borderColor: '#A855F7', + boxShadow: '0 0 10px rgba(168, 85, 247, 0.3)', transform: 'translateY(-1px)' }} transition="all 0.2s" > { diff --git a/src/views/EventDetail/components/RelatedConcepts.js b/src/views/EventDetail/components/RelatedConcepts.js index 063d5781..00fa178e 100644 --- a/src/views/EventDetail/components/RelatedConcepts.js +++ b/src/views/EventDetail/components/RelatedConcepts.js @@ -33,14 +33,15 @@ import { FaEye, FaExternalLinkAlt, FaChartLine, FaCalendarAlt } from 'react-icon import moment from 'moment'; import tradingDayUtils from '../../../utils/tradingDayUtils'; // 引入交易日工具 import { logger } from '../../../utils/logger'; +import { PROFESSIONAL_COLORS } from '../../../constants/professionalTheme'; // 增强版 ConceptCard 组件 - 展示更多数据细节 const ConceptCard = ({ concept, tradingDate, onViewDetails }) => { const [isExpanded, setIsExpanded] = useState(false); - const cardBg = useColorModeValue('white', 'gray.800'); - const borderColor = useColorModeValue('gray.200', 'gray.600'); - const textColor = useColorModeValue('gray.600', 'gray.400'); - const highlightBg = useColorModeValue('yellow.50', 'yellow.900'); + const cardBg = PROFESSIONAL_COLORS.background.card; + const borderColor = PROFESSIONAL_COLORS.border.default; + const textColor = PROFESSIONAL_COLORS.text.secondary; + const highlightBg = 'rgba(255, 195, 0, 0.1)'; // 计算涨跌幅颜色和符号 const changeColor = concept.price_info?.avg_change_pct > 0 ? 'red' : 'green'; @@ -69,8 +70,8 @@ const ConceptCard = ({ concept, tradingDate, onViewDetails }) => { borderWidth={2} _hover={{ transform: 'translateY(-2px)', - shadow: 'xl', - borderColor: 'blue.400' + boxShadow: '0 8px 20px rgba(0, 0, 0, 0.4)', + borderColor: '#3B82F6' }} transition="all 0.3s" > @@ -80,17 +81,35 @@ const ConceptCard = ({ concept, tradingDate, onViewDetails }) => { - + {concept.concept} - + 相关度: {concept.score.toFixed(2)} - + {getMatchTypeName(concept.match_type)} - + {concept.stock_count} 只股票