update pay ui

This commit is contained in:
2025-12-11 08:46:09 +08:00
parent 2ebc1cbc97
commit d0c9d9b1fb

View File

@@ -26,7 +26,6 @@ import {
Flex, Flex,
Spacer, Spacer,
Icon, Icon,
useColorModeValue,
useToast, useToast,
Spinner, Spinner,
Center, Center,
@@ -69,7 +68,7 @@ const tradingDaysSet = new Set(tradingDays);
const StockOverview = () => { const StockOverview = () => {
const navigate = useNavigate(); const navigate = useNavigate();
const toast = useToast(); const toast = useToast();
const colorMode = 'light'; // 固定为 light 模式 const colorMode = 'dark'; // 固定为 dark 深色模式
const heatmapRef = useRef(null); const heatmapRef = useRef(null);
const heatmapChart = useRef(null); const heatmapChart = useRef(null);
@@ -104,17 +103,17 @@ const StockOverview = () => {
const [isStockModalOpen, setIsStockModalOpen] = useState(false); const [isStockModalOpen, setIsStockModalOpen] = useState(false);
const [selectedConcept, setSelectedConcept] = useState(null); const [selectedConcept, setSelectedConcept] = useState(null);
// 专业的颜色主题 // 深色主题配色 - 参考概念中心
const bgColor = useColorModeValue('white', '#0a0a0a'); const bgColor = '#0a0a0f'; // 深色背景
const cardBg = useColorModeValue('white', '#1a1a1a'); const cardBg = 'rgba(255, 255, 255, 0.03)'; // 玻璃态卡片背景
const borderColor = useColorModeValue('gray.200', '#333333'); const borderColor = 'rgba(255, 255, 255, 0.08)'; // 边框
const hoverBg = useColorModeValue('gray.50', '#2a2a2a'); const hoverBg = 'rgba(255, 255, 255, 0.06)'; // 悬停背景
const searchBg = useColorModeValue('white', '#1a1a1a'); const searchBg = 'rgba(255, 255, 255, 0.05)'; // 搜索框背景
const textColor = useColorModeValue('gray.800', 'white'); const textColor = 'rgba(255, 255, 255, 0.95)'; // 主文字
const subTextColor = useColorModeValue('gray.600', 'gray.400'); const subTextColor = 'rgba(255, 255, 255, 0.6)'; // 次要文字
const goldColor = useColorModeValue('#FFD700', '#FFC107'); const goldColor = '#8b5cf6'; // 使用紫色作为强调色
const accentColor = useColorModeValue('purple.600', goldColor); const accentColor = '#8b5cf6'; // 紫色强调
const heroBg = useColorModeValue('linear(to-br, purple.600, pink.500)', 'linear(to-br, #0a0a0a, #1a1a1a)'); const heroBg = 'linear(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%)'; // 深色极光背景
// 打开个股列表弹窗 // 打开个股列表弹窗
const handleViewStocks = useCallback((e, concept) => { const handleViewStocks = useCallback((e, concept) => {
@@ -575,10 +574,29 @@ const StockOverview = () => {
); );
return ( return (
<Box minH="100vh" bg={bgColor}> <Box minH="100vh" bg={bgColor} position="relative" overflow="hidden">
{/* 导航栏已由 MainLayout 提供 */} {/* 全局极光背景 */}
<Box
position="fixed"
inset={0}
bgGradient="radial(ellipse at 20% 0%, rgba(139, 92, 246, 0.15) 0%, transparent 50%)"
pointerEvents="none"
zIndex={0}
/>
<Box
position="fixed"
inset={0}
bgGradient="radial(ellipse at 80% 100%, rgba(59, 130, 246, 0.1) 0%, transparent 50%)"
pointerEvents="none"
zIndex={0}
/>
<Box
position="fixed"
inset={0}
bgGradient="radial(ellipse at 50% 50%, rgba(236, 72, 153, 0.05) 0%, transparent 70%)"
pointerEvents="none"
zIndex={0}
/>
{/* Hero Section */} {/* Hero Section */}
<Box <Box
@@ -588,7 +606,8 @@ const StockOverview = () => {
overflow="visible" overflow="visible"
pt={{ base: 20, md: 24 }} pt={{ base: 20, md: 24 }}
pb={{ base: 16, md: 20 }} pb={{ base: 16, md: 20 }}
borderBottom={colorMode === 'dark' ? `2px solid ${goldColor}` : 'none'} borderBottom={`1px solid rgba(139, 92, 246, 0.3)`}
zIndex={1}
> >
{/* 背景装饰 */} {/* 背景装饰 */}
<Box <Box
@@ -597,10 +616,10 @@ const StockOverview = () => {
right="-10%" right="-10%"
width="40%" width="40%"
height="120%" height="120%"
bg={colorMode === 'dark' ? `${goldColor}10` : 'whiteAlpha.100'} bg={`${goldColor}15`}
transform="rotate(12deg)" transform="rotate(12deg)"
borderRadius="full" borderRadius="full"
filter="blur(40px)" filter="blur(60px)"
/> />
<Container maxW="container.xl" position="relative"> <Container maxW="container.xl" position="relative">
@@ -814,7 +833,7 @@ const StockOverview = () => {
</Box> </Box>
{/* 主内容区 */} {/* 主内容区 */}
<Container maxW="container.xl" py={10}> <Container maxW="container.xl" py={10} position="relative" zIndex={1}>
{/* 日期选择器 */} {/* 日期选择器 */}
<Box mb={6}> <Box mb={6}>
<Flex align="center" gap={4} flexWrap="wrap"> <Flex align="center" gap={4} flexWrap="wrap">
@@ -848,11 +867,18 @@ const StockOverview = () => {
{selectedDate ? ( {selectedDate ? (
<HotspotOverview selectedDate={selectedDate} /> <HotspotOverview selectedDate={selectedDate} />
) : ( ) : (
<Card bg={cardBg} borderWidth="1px" borderColor={borderColor}> <Card
bg={cardBg}
backdropFilter="blur(20px)"
borderWidth="1px"
borderColor={borderColor}
borderRadius="24px"
boxShadow="0 8px 32px rgba(0, 0, 0, 0.3)"
>
<CardBody> <CardBody>
<Center h="400px"> <Center h="400px">
<VStack spacing={4}> <VStack spacing={4}>
<Spinner size="xl" color="purple.500" thickness="4px" /> <Spinner size="xl" color="#8b5cf6" thickness="4px" />
<Text color={subTextColor}>加载热点概览数据...</Text> <Text color={subTextColor}>加载热点概览数据...</Text>
</VStack> </VStack>
</Center> </Center>