refactor(Concept): 迁移毛玻璃效果到统一配置 - 批次5
- index.js: 10+ 处使用 GLASS_BLUR.lg/sm - ConceptTimelineModal.js: Modal overlay 使用 GLASS_BLUR.sm/lg - BreadcrumbNav.js: 深色主题样式使用 GLASS_BLUR.lg - ConceptStatsPanel.js: 玻璃态卡片使用 GLASS_BLUR.lg - HierarchyView.js: 4处使用 GLASS_BLUR.lg/sm - ForceGraphView.js: 4处使用 GLASS_BLUR.lg 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -80,6 +80,7 @@ const formatUrl = (url) => {
|
||||
};
|
||||
|
||||
import { getApiBase } from '@utils/apiConfig';
|
||||
import { GLASS_BLUR } from '@/constants/glassConfig';
|
||||
|
||||
// API配置 - 生产环境通过 api.valuefrontier.cn 代理
|
||||
const API_BASE_URL = process.env.NODE_ENV === 'production'
|
||||
@@ -667,13 +668,13 @@ const ConceptTimelineModal = ({
|
||||
scrollBehavior="inside"
|
||||
isCentered
|
||||
>
|
||||
<ModalOverlay bg="blackAlpha.800" backdropFilter="blur(8px)" />
|
||||
<ModalOverlay bg="blackAlpha.800" backdropFilter={GLASS_BLUR.sm} />
|
||||
<ModalContent
|
||||
maxW="1400px"
|
||||
m={{ base: 0, md: 'auto' }}
|
||||
mx="auto"
|
||||
bg="rgba(15, 23, 42, 0.95)"
|
||||
backdropFilter="blur(20px)"
|
||||
backdropFilter={GLASS_BLUR.lg}
|
||||
border="1px solid"
|
||||
borderColor="whiteAlpha.100"
|
||||
>
|
||||
@@ -909,7 +910,7 @@ const ConceptTimelineModal = ({
|
||||
size="4xl"
|
||||
scrollBehavior="inside"
|
||||
>
|
||||
<ModalOverlay bg="blackAlpha.800" backdropFilter="blur(8px)" />
|
||||
<ModalOverlay bg="blackAlpha.800" backdropFilter={GLASS_BLUR.sm} />
|
||||
<ModalContent
|
||||
borderRadius="2xl"
|
||||
overflow="hidden"
|
||||
@@ -1228,7 +1229,7 @@ const ConceptTimelineModal = ({
|
||||
size="4xl"
|
||||
scrollBehavior="inside"
|
||||
>
|
||||
<ModalOverlay bg="blackAlpha.800" backdropFilter="blur(8px)" />
|
||||
<ModalOverlay bg="blackAlpha.800" backdropFilter={GLASS_BLUR.sm} />
|
||||
<ModalContent bg="rgba(15, 23, 42, 0.95)" border="1px solid" borderColor="whiteAlpha.100">
|
||||
<ModalHeader bg="rgba(15, 23, 42, 0.98)" borderBottom="1px solid" borderColor="whiteAlpha.100" color="white">
|
||||
<VStack align="start" spacing={1}>
|
||||
@@ -1330,7 +1331,7 @@ const ConceptTimelineModal = ({
|
||||
size="4xl"
|
||||
scrollBehavior="inside"
|
||||
>
|
||||
<ModalOverlay bg="blackAlpha.800" backdropFilter="blur(8px)" />
|
||||
<ModalOverlay bg="blackAlpha.800" backdropFilter={GLASS_BLUR.sm} />
|
||||
<ModalContent bg="rgba(15, 23, 42, 0.95)" border="1px solid" borderColor="whiteAlpha.100">
|
||||
<ModalHeader bg="rgba(15, 23, 42, 0.98)" borderBottom="1px solid" borderColor="whiteAlpha.100" color="white">
|
||||
<VStack align="start" spacing={1}>
|
||||
|
||||
@@ -17,6 +17,7 @@ import {
|
||||
Tooltip,
|
||||
} from '@chakra-ui/react';
|
||||
import { ChevronRight, Filter, X, Home } from 'lucide-react';
|
||||
import { GLASS_BLUR } from '@/constants/glassConfig';
|
||||
|
||||
const BreadcrumbNav = ({
|
||||
filter,
|
||||
@@ -60,7 +61,7 @@ const BreadcrumbNav = ({
|
||||
const darkStyles = {
|
||||
container: {
|
||||
bg: 'rgba(15, 23, 42, 0.8)',
|
||||
backdropFilter: 'blur(20px)',
|
||||
backdropFilter: GLASS_BLUR.lg,
|
||||
borderColor: 'whiteAlpha.100',
|
||||
},
|
||||
filterBadge: {
|
||||
|
||||
@@ -47,6 +47,7 @@ import {
|
||||
TrendingUp,
|
||||
TrendingDown,
|
||||
} from 'lucide-react';
|
||||
import { GLASS_BLUR } from '@/constants/glassConfig';
|
||||
|
||||
const ConceptStatsPanel = ({ apiBaseUrl, onConceptClick }) => {
|
||||
// 获取正确的API基础URL
|
||||
@@ -585,7 +586,7 @@ const ConceptStatsPanel = ({ apiBaseUrl, onConceptClick }) => {
|
||||
{/* 顶部标题卡片 - 深色玻璃态 */}
|
||||
<Box
|
||||
bg="rgba(15, 23, 42, 0.8)"
|
||||
backdropFilter="blur(20px)"
|
||||
backdropFilter={GLASS_BLUR.lg}
|
||||
p={4}
|
||||
borderRadius="xl"
|
||||
mb={4}
|
||||
@@ -767,7 +768,7 @@ const ConceptStatsPanel = ({ apiBaseUrl, onConceptClick }) => {
|
||||
</Box>
|
||||
|
||||
{/* 主内容卡片 - 深色玻璃态 */}
|
||||
<Box bg={bg} backdropFilter="blur(20px)" borderRadius="xl" border="1px" borderColor={borderColor} overflow="hidden">
|
||||
<Box bg={bg} backdropFilter={GLASS_BLUR.lg} borderRadius="xl" border="1px" borderColor={borderColor} overflow="hidden">
|
||||
<Tabs
|
||||
index={activeTab}
|
||||
onChange={(index) => {
|
||||
|
||||
@@ -44,6 +44,7 @@ import {
|
||||
ArrowLeft,
|
||||
} from 'lucide-react';
|
||||
import { logger } from '../../../utils/logger';
|
||||
import { GLASS_BLUR } from '@/constants/glassConfig';
|
||||
|
||||
// 极光动画 - 黑金色主题
|
||||
const auroraAnimation = keyframes`
|
||||
@@ -1016,7 +1017,7 @@ const ForceGraphView = ({
|
||||
h="500px"
|
||||
bg="rgba(15, 23, 42, 0.6)"
|
||||
borderRadius="3xl"
|
||||
backdropFilter="blur(20px)"
|
||||
backdropFilter={GLASS_BLUR.lg}
|
||||
border="1px solid"
|
||||
borderColor="whiteAlpha.100"
|
||||
>
|
||||
@@ -1047,7 +1048,7 @@ const ForceGraphView = ({
|
||||
h="500px"
|
||||
bg="rgba(15, 23, 42, 0.6)"
|
||||
borderRadius="3xl"
|
||||
backdropFilter="blur(20px)"
|
||||
backdropFilter={GLASS_BLUR.lg}
|
||||
border="1px solid"
|
||||
borderColor="whiteAlpha.100"
|
||||
>
|
||||
@@ -1289,7 +1290,7 @@ const ForceGraphView = ({
|
||||
>
|
||||
<HStack
|
||||
bg="rgba(255, 255, 255, 0.08)"
|
||||
backdropFilter="blur(20px)"
|
||||
backdropFilter={GLASS_BLUR.lg}
|
||||
px={4}
|
||||
py={2}
|
||||
borderRadius="full"
|
||||
@@ -1332,7 +1333,7 @@ const ForceGraphView = ({
|
||||
>
|
||||
<HStack
|
||||
bg="rgba(255, 255, 255, 0.06)"
|
||||
backdropFilter="blur(20px)"
|
||||
backdropFilter={GLASS_BLUR.lg}
|
||||
px={4}
|
||||
py={2}
|
||||
borderRadius="full"
|
||||
|
||||
@@ -62,6 +62,7 @@ import {
|
||||
ExternalLink,
|
||||
} from 'lucide-react';
|
||||
import { logger } from '../../../utils/logger';
|
||||
import { GLASS_BLUR } from '@/constants/glassConfig';
|
||||
|
||||
// 一级分类图标映射
|
||||
const LV1_ICONS = {
|
||||
@@ -274,7 +275,7 @@ const GlassCard = ({ item, onClick, size = 'normal' }) => {
|
||||
right={0}
|
||||
bottom={0}
|
||||
bg={getChangeGradient(item.avg_change_pct)}
|
||||
backdropFilter="blur(20px)"
|
||||
backdropFilter={GLASS_BLUR.lg}
|
||||
border="1px solid"
|
||||
borderColor="whiteAlpha.200"
|
||||
borderRadius="2xl"
|
||||
@@ -319,7 +320,7 @@ const GlassCard = ({ item, onClick, size = 'normal' }) => {
|
||||
p={2}
|
||||
bg="whiteAlpha.150"
|
||||
borderRadius="xl"
|
||||
backdropFilter="blur(10px)"
|
||||
backdropFilter={GLASS_BLUR.sm}
|
||||
border="1px solid"
|
||||
borderColor="whiteAlpha.100"
|
||||
flexShrink={0}
|
||||
@@ -402,7 +403,7 @@ const GlassCard = ({ item, onClick, size = 'normal' }) => {
|
||||
borderRadius="full"
|
||||
px={2}
|
||||
py={0.5}
|
||||
backdropFilter="blur(10px)"
|
||||
backdropFilter={GLASS_BLUR.sm}
|
||||
border="1px solid"
|
||||
borderColor="whiteAlpha.100"
|
||||
>
|
||||
@@ -821,7 +822,7 @@ const HierarchyView = ({
|
||||
mb={5}
|
||||
p={3}
|
||||
bg="whiteAlpha.50"
|
||||
backdropFilter="blur(20px)"
|
||||
backdropFilter={GLASS_BLUR.lg}
|
||||
borderRadius="2xl"
|
||||
border="1px solid"
|
||||
borderColor="whiteAlpha.100"
|
||||
|
||||
@@ -134,6 +134,7 @@ import { marketService } from '../../services/marketService';
|
||||
import { useConceptEvents } from './hooks/useConceptEvents';
|
||||
|
||||
import { getApiBase } from '@utils/apiConfig';
|
||||
import { GLASS_BLUR } from '@/constants/glassConfig';
|
||||
|
||||
// API配置 - 生产环境通过 api.valuefrontier.cn 代理
|
||||
const API_BASE_URL = process.env.NODE_ENV === 'production'
|
||||
@@ -872,7 +873,7 @@ const ConceptCenter = () => {
|
||||
cursor="pointer"
|
||||
onClick={() => handleConceptClick(concept.concept_id, concept.concept, concept, position)}
|
||||
bg="rgba(15, 23, 42, 0.8)"
|
||||
backdropFilter="blur(20px)"
|
||||
backdropFilter={GLASS_BLUR.lg}
|
||||
borderWidth="1px"
|
||||
borderColor="whiteAlpha.100"
|
||||
overflow="hidden"
|
||||
@@ -996,7 +997,7 @@ const ConceptCenter = () => {
|
||||
top={3}
|
||||
right={3}
|
||||
bg="rgba(0, 0, 0, 0.4)"
|
||||
backdropFilter="blur(10px)"
|
||||
backdropFilter={GLASS_BLUR.sm}
|
||||
color="white"
|
||||
fontSize="xs"
|
||||
px={3}
|
||||
@@ -1040,7 +1041,7 @@ const ConceptCenter = () => {
|
||||
width="100%"
|
||||
p={{ base: 2, md: 3 }}
|
||||
bg="whiteAlpha.50"
|
||||
backdropFilter="blur(10px)"
|
||||
backdropFilter={GLASS_BLUR.sm}
|
||||
borderRadius="xl"
|
||||
cursor="pointer"
|
||||
onClick={(e) => handleViewStocks(e, concept)}
|
||||
@@ -1201,7 +1202,7 @@ const ConceptCenter = () => {
|
||||
cursor="pointer"
|
||||
onClick={() => handleConceptClick(concept.concept_id, concept.concept, concept, position)}
|
||||
bg="rgba(15, 23, 42, 0.8)"
|
||||
backdropFilter="blur(20px)"
|
||||
backdropFilter={GLASS_BLUR.lg}
|
||||
borderWidth="1px"
|
||||
borderColor="whiteAlpha.100"
|
||||
overflow="hidden"
|
||||
@@ -1439,7 +1440,7 @@ const ConceptCenter = () => {
|
||||
<Box
|
||||
p={4}
|
||||
bg="rgba(15, 23, 42, 0.8)"
|
||||
backdropFilter="blur(20px)"
|
||||
backdropFilter={GLASS_BLUR.lg}
|
||||
borderRadius="2xl"
|
||||
border="1px solid"
|
||||
borderColor="whiteAlpha.100"
|
||||
@@ -1652,7 +1653,7 @@ const ConceptCenter = () => {
|
||||
spacing={6}
|
||||
divider={<Box w="1px" h="30px" bg="whiteAlpha.300" />}
|
||||
bg="whiteAlpha.100"
|
||||
backdropFilter="blur(10px)"
|
||||
backdropFilter={GLASS_BLUR.sm}
|
||||
px={8}
|
||||
py={3}
|
||||
borderRadius="full"
|
||||
@@ -1690,7 +1691,7 @@ const ConceptCenter = () => {
|
||||
<Flex
|
||||
align="center"
|
||||
bg="rgba(255, 255, 255, 0.95)"
|
||||
backdropFilter="blur(10px)"
|
||||
backdropFilter={GLASS_BLUR.sm}
|
||||
borderRadius="full"
|
||||
overflow="hidden"
|
||||
boxShadow="0 8px 32px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(139, 92, 246, 0.2)"
|
||||
@@ -1795,7 +1796,7 @@ const ConceptCenter = () => {
|
||||
<Card
|
||||
mb={8}
|
||||
bg="rgba(15, 23, 42, 0.8)"
|
||||
backdropFilter="blur(20px)"
|
||||
backdropFilter={GLASS_BLUR.lg}
|
||||
border="1px solid"
|
||||
borderColor="whiteAlpha.100"
|
||||
boxShadow="0 4px 20px rgba(0, 0, 0, 0.3)"
|
||||
@@ -1981,7 +1982,7 @@ const ConceptCenter = () => {
|
||||
<HStack
|
||||
spacing={3}
|
||||
bg="rgba(15, 23, 42, 0.8)"
|
||||
backdropFilter="blur(20px)"
|
||||
backdropFilter={GLASS_BLUR.lg}
|
||||
px={6}
|
||||
py={3}
|
||||
borderRadius="full"
|
||||
@@ -2102,7 +2103,7 @@ const ConceptCenter = () => {
|
||||
) : (
|
||||
<Card
|
||||
bg="rgba(15, 23, 42, 0.8)"
|
||||
backdropFilter="blur(20px)"
|
||||
backdropFilter={GLASS_BLUR.lg}
|
||||
border="1px solid"
|
||||
borderColor="whiteAlpha.100"
|
||||
borderRadius="2xl"
|
||||
|
||||
Reference in New Issue
Block a user