diff --git a/src/views/Community/components/DynamicNewsCard.js b/src/views/Community/components/DynamicNewsCard.js index 1fc78fc7..2e3e9a00 100644 --- a/src/views/Community/components/DynamicNewsCard.js +++ b/src/views/Community/components/DynamicNewsCard.js @@ -390,6 +390,13 @@ const [currentMode, setCurrentMode] = useState('vertical'); mb={4} position="relative" zIndex={1} + animation="fadeInUp 0.8s ease-out 0.2s both" + sx={{ + '@keyframes fadeInUp': { + '0%': { opacity: 0, transform: 'translateY(30px)' }, + '100%': { opacity: 1, transform: 'translateY(0)' } + } + }} > {/* 标题和搜索部分 - 可滚动区域 */} { */ const FeatureIcon = ({ icon, title, description }) => { return ( - + - + - + {title} - + {description} @@ -633,106 +665,301 @@ const FeatureIcon = ({ icon, title, description }) => { * 顶部说明面板主组件 */ const HeroPanel = () => { - const gradientBg = 'linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 50%, #1a1a1a 100%)'; + const gradientBg = 'linear-gradient(135deg, #0a0a0a 0%, #1a1a2e 25%, #16213e 50%, #1a1a2e 75%, #0a0a0a 100%)'; const cardBorder = '1px solid'; - const borderColor = useColorModeValue('rgba(255, 215, 0, 0.3)', 'rgba(255, 215, 0, 0.2)'); + const borderColor = useColorModeValue('rgba(255, 215, 0, 0.4)', 'rgba(255, 215, 0, 0.3)'); return ( - {/* 装饰性背景图案 - 多层叠加 */} + {/* 动态网格背景 */} + + {/* 扫描线效果 */} + + + {/* 装饰性光晕 - 多层动态叠加 */} + + + + + {/* 四角光点装饰 */} + + {/* 左侧:产品介绍 */} - + 价值前沿 - + 实时捕捉市场动态,智能分析投资机会。
整合多维数据源,为您提供专业的投资决策支持。
- - - - - + + + + + + + + + + + + +
{/* 中间:沪深指数K线图 */} - + { borderColor="whiteAlpha.200" backdropFilter="blur(10px)" boxShadow="0 4px 16px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.05)" - transition="all 0.3s ease" + transition="all 0.4s cubic-bezier(0.4, 0, 0.2, 1)" + position="relative" + overflow="hidden" _hover={{ bg: "whiteAlpha.150", - borderColor: "whiteAlpha.300", - boxShadow: "0 6px 24px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1)", - transform: "translateY(-1px)" + borderColor: "rgba(236, 0, 0, 0.4)", + boxShadow: "0 8px 32px rgba(236, 0, 0, 0.3), 0 0 0 1px rgba(236, 0, 0, 0.2) inset, inset 0 1px 0 rgba(255, 255, 255, 0.1)", + transform: "translateY(-4px) scale(1.02)" + }} + _before={{ + content: '""', + position: 'absolute', + top: 0, + left: '-100%', + width: '100%', + height: '100%', + background: 'linear-gradient(90deg, transparent, rgba(236, 0, 0, 0.1), transparent)', + transition: 'left 0.5s ease' + }} + _hover_before={{ + left: '100%' }} > @@ -762,12 +1004,27 @@ const HeroPanel = () => { borderColor="whiteAlpha.200" backdropFilter="blur(10px)" boxShadow="0 4px 16px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.05)" - transition="all 0.3s ease" + transition="all 0.4s cubic-bezier(0.4, 0, 0.2, 1)" + position="relative" + overflow="hidden" _hover={{ bg: "whiteAlpha.150", - borderColor: "whiteAlpha.300", - boxShadow: "0 6px 24px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1)", - transform: "translateY(-1px)" + borderColor: "rgba(0, 218, 60, 0.4)", + boxShadow: "0 8px 32px rgba(0, 218, 60, 0.3), 0 0 0 1px rgba(0, 218, 60, 0.2) inset, inset 0 1px 0 rgba(255, 255, 255, 0.1)", + transform: "translateY(-4px) scale(1.02)" + }} + _before={{ + content: '""', + position: 'absolute', + top: 0, + left: '-100%', + width: '100%', + height: '100%', + background: 'linear-gradient(90deg, transparent, rgba(0, 218, 60, 0.1), transparent)', + transition: 'left 0.5s ease' + }} + _hover_before={{ + left: '100%' }} > @@ -776,7 +1033,15 @@ const HeroPanel = () => { {/* 右侧:热门概念词云图 */} - + { bg="whiteAlpha.50" w="full" justify="space-between" + position="relative" + overflow="hidden" + transition="all 0.3s ease" + _hover={{ + bg: "whiteAlpha.100", + boxShadow: "0 0 20px rgba(255, 165, 0, 0.3)" + }} + _before={{ + content: '""', + position: 'absolute', + top: 0, + left: 0, + right: 0, + bottom: 0, + background: 'linear-gradient(90deg, transparent, rgba(255, 165, 0, 0.1), transparent)', + animation: 'headerShimmer 3s ease-in-out infinite', + pointerEvents: 'none' + }} + sx={{ + '@keyframes headerShimmer': { + '0%': { transform: 'translateX(-100%)' }, + '100%': { transform: 'translateX(100%)' } + } + }} > { fontWeight="extrabold" bgGradient="linear(to-r, #FFD700, #FFA500, #FF4500)" bgClip="text" + backgroundSize="200% 100%" + animation="gradientFlow 3s ease infinite" + sx={{ + '@keyframes gradientFlow': { + '0%, 100%': { backgroundPosition: '0% 50%' }, + '50%': { backgroundPosition: '100% 50%' } + } + }} > 🔥 热门概念 @@ -802,8 +1099,31 @@ const HeroPanel = () => { h="6px" borderRadius="full" bg="orange.400" - animation="pulse 2s infinite" - boxShadow="0 0 6px rgba(251, 146, 60, 0.8)" + animation="liveIndicator 1.5s ease-in-out infinite" + boxShadow="0 0 10px rgba(251, 146, 60, 0.8)" + position="relative" + _after={{ + content: '""', + position: 'absolute', + top: '-3px', + left: '-3px', + right: '-3px', + bottom: '-3px', + borderRadius: 'full', + border: '2px solid', + borderColor: 'orange.400', + animation: 'ripple 1.5s ease-out infinite' + }} + sx={{ + '@keyframes liveIndicator': { + '0%, 100%': { opacity: 1, transform: 'scale(1)' }, + '50%': { opacity: 0.6, transform: 'scale(1.2)' } + }, + '@keyframes ripple': { + '0%': { transform: 'scale(1)', opacity: 0.8 }, + '100%': { transform: 'scale(2.5)', opacity: 0 } + } + }} /> 实时更新 @@ -815,10 +1135,31 @@ const HeroPanel = () => { flex="1" position="relative" overflow="hidden" + borderRadius="lg" + bg="whiteAlpha.50" + p={2} + transition="all 0.3s ease" + _hover={{ + bg: "whiteAlpha.100", + boxShadow: "0 0 30px rgba(255, 215, 0, 0.2)" + }} > - + 🌊 概念流动展示 🎨 颜色表示涨跌幅 diff --git a/src/views/Community/components/HotEventsSection.js b/src/views/Community/components/HotEventsSection.js index 9bb09565..3ba199b6 100644 --- a/src/views/Community/components/HotEventsSection.js +++ b/src/views/Community/components/HotEventsSection.js @@ -44,6 +44,13 @@ const HotEventsSection = ({ events, onEventClick }) => { borderColor={useColorModeValue('gray.200', 'gray.700')} position="relative" zIndex={1} + animation="fadeInUp 0.8s ease-out 0.4s both" + sx={{ + '@keyframes fadeInUp': { + '0%': { opacity: 0, transform: 'translateY(30px)' }, + '100%': { opacity: 1, transform: 'translateY(0)' } + } + }} >