pref: 移除 useColorModeValue

UI调整
This commit is contained in:
zdl
2025-12-09 19:26:52 +08:00
parent 4f38505a80
commit 9423094af2
6 changed files with 44 additions and 43 deletions

View File

@@ -38,6 +38,8 @@ const SearchBar = ({
onChange={(e) => onInputChange(e.target.value)} onChange={(e) => onInputChange(e.target.value)}
onKeyPress={onKeyPress} onKeyPress={onKeyPress}
borderRadius="md" borderRadius="md"
color="white"
_placeholder={{ color: 'whiteAlpha.600' }}
_focus={{ _focus={{
borderColor: 'blue.500', borderColor: 'blue.500',
boxShadow: '0 0 0 1px #3182ce', boxShadow: '0 0 0 1px #3182ce',
@@ -45,10 +47,14 @@ const SearchBar = ({
/> />
</InputGroup> </InputGroup>
<Button <Button
colorScheme="blue"
size="lg" size="lg"
onClick={onSearch} onClick={onSearch}
leftIcon={<SearchIcon />} leftIcon={<SearchIcon />}
bg="#1A202C"
color="#C9A961"
borderWidth="1px"
borderColor="#C9A961"
_hover={{ bg: '#1a1a1a' }}
> >
查询 查询
</Button> </Button>

View File

@@ -52,8 +52,8 @@ const CompanyHeader = ({
<HStack justify="space-between" align="center"> <HStack justify="space-between" align="center">
{/* 标题区域 */} {/* 标题区域 */}
<VStack align="start" spacing={1}> <VStack align="start" spacing={1}>
<Heading size="lg">个股详情</Heading> <Heading size="lg" color="white">个股详情</Heading>
<Text color="gray.600" fontSize="sm"> <Text color="white" fontSize="sm">
查看股票实时行情财务数据和盈利预测 查看股票实时行情财务数据和盈利预测
</Text> </Text>
</VStack> </VStack>
@@ -76,16 +76,6 @@ const CompanyHeader = ({
/> />
</HStack> </HStack>
</HStack> </HStack>
{/* 当前股票信息 */}
<HStack mt={4} spacing={4}>
<Badge colorScheme="blue" fontSize="md" px={3} py={1}>
股票代码: {stockCode}
</Badge>
<Text fontSize="sm" color="gray.600">
更新时间: {new Date().toLocaleString()}
</Text>
</HStack>
</CardBody> </CardBody>
</Card> </Card>
); );

View File

@@ -1,5 +1,5 @@
// src/views/Company/components/CompanyTabs/TabNavigation.js // src/views/Company/components/CompanyTabs/TabNavigation.js
// Tab 导航组件 - 动态渲染 Tab 按钮 // Tab 导航组件 - 动态渲染 Tab 按钮(黑金主题)
import React from 'react'; import React from 'react';
import { import {
@@ -10,31 +10,41 @@ import {
Text, Text,
} from '@chakra-ui/react'; } from '@chakra-ui/react';
import { COMPANY_TABS, TAB_SELECTED_STYLE } from '../../constants'; import { COMPANY_TABS } from '../../constants';
// 黑金主题颜色配置
const THEME_COLORS = {
bg: '#1A202C', // 背景纯黑
selectedBg: '#C9A961', // 选中项金色背景
selectedText: '#FFFFFF', // 选中项白色文字
unselectedText: '#999999', // 未选中项深灰色
};
/** /**
* Tab 导航组件 * Tab 导航组件(黑金主题)
*
* @param {Object} props
* @param {string} props.tabBg - Tab 列表背景色
* @param {string} props.activeBg - 激活状态背景色
*/ */
const TabNavigation = ({ tabBg, activeBg }) => { const TabNavigation = () => {
return ( return (
<TabList p={4} bg={tabBg}> <TabList py={4} bg={THEME_COLORS.bg} borderTopLeftRadius="16px" borderTopRightRadius="16px">
{COMPANY_TABS.map((tab, index) => ( {COMPANY_TABS.map((tab, index) => (
<Tab <Tab
key={tab.key} key={tab.key}
color={THEME_COLORS.unselectedText}
borderRadius="full"
px={4}
py={2}
_selected={{ _selected={{
bg: activeBg, bg: THEME_COLORS.selectedBg,
color: 'white', color: THEME_COLORS.selectedText,
...TAB_SELECTED_STYLE, }}
_hover={{
color: THEME_COLORS.selectedText,
}} }}
mr={index < COMPANY_TABS.length - 1 ? 2 : 0} mr={index < COMPANY_TABS.length - 1 ? 2 : 0}
> >
<HStack spacing={2}> <HStack spacing={2}>
<Icon as={tab.icon} /> <Icon as={tab.icon} boxSize="18px" />
<Text>{tab.name}</Text> <Text fontSize="15px">{tab.name}</Text>
</HStack> </HStack>
</Tab> </Tab>
))} ))}

View File

@@ -46,9 +46,8 @@ const TAB_COMPONENTS = {
* @param {Object} props * @param {Object} props
* @param {string} props.stockCode - 当前股票代码 * @param {string} props.stockCode - 当前股票代码
* @param {Function} props.onTabChange - Tab 变更回调 (index, tabName, prevIndex) => void * @param {Function} props.onTabChange - Tab 变更回调 (index, tabName, prevIndex) => void
* @param {string} props.bgColor - 背景颜色
*/ */
const CompanyTabs = ({ stockCode, onTabChange, bgColor }) => { const CompanyTabs = ({ stockCode, onTabChange }) => {
const [currentIndex, setCurrentIndex] = useState(0); const [currentIndex, setCurrentIndex] = useState(0);
/** /**
@@ -65,7 +64,7 @@ const CompanyTabs = ({ stockCode, onTabChange, bgColor }) => {
}; };
return ( return (
<Card bg={bgColor} shadow="lg"> <Card shadow="lg" bg='#1A202C'>
<CardBody p={0}> <CardBody p={0}>
<Tabs <Tabs
variant="soft-rounded" variant="soft-rounded"
@@ -74,8 +73,8 @@ const CompanyTabs = ({ stockCode, onTabChange, bgColor }) => {
index={currentIndex} index={currentIndex}
onChange={handleTabChange} onChange={handleTabChange}
> >
{/* Tab 导航 */} {/* Tab 导航(黑金主题) */}
<TabNavigation tabBg="gray.50" activeBg="blue.500" /> <TabNavigation />
<Divider /> <Divider />

View File

@@ -52,7 +52,7 @@ const StockQuoteCard: React.FC<StockQuoteCardProps> = ({
isLoading = false, isLoading = false,
}) => { }) => {
// 黑金主题颜色配置 // 黑金主题颜色配置
const cardBg = '#000000'; const cardBg = '#1A202C';
const borderColor = '#C9A961'; const borderColor = '#C9A961';
const labelColor = '#C9A961'; const labelColor = '#C9A961';
const valueColor = '#F4D03F'; const valueColor = '#F4D03F';
@@ -76,9 +76,9 @@ const StockQuoteCard: React.FC<StockQuoteCardProps> = ({
return ( return (
<Card bg={cardBg} shadow="sm" borderWidth="1px" borderColor={borderColor}> <Card bg={cardBg} shadow="sm" borderWidth="1px" borderColor={borderColor}>
<CardBody py={4} px={6}> <CardBody>
{/* 顶部:股票名称 + 更新时间 */} {/* 顶部:股票名称 + 更新时间 */}
<Flex justify="space-between" align="center" mb={4}> <Flex justify="space-between" align="center">
<HStack spacing={3}> <HStack spacing={3}>
<Text fontSize="24px" fontWeight="bold" color={valueColor}> <Text fontSize="24px" fontWeight="bold" color={valueColor}>
{data.name} {data.name}

View File

@@ -64,8 +64,8 @@ const CompanyIndex = () => {
}, [stockCode, trackStockSearched]); }, [stockCode, trackStockSearched]);
return ( return (
<Container maxW="container.xl" py={5}> <Container maxW="container.xl" py={0} bg='#1A202C'>
<VStack align="stretch" spacing={5}> <VStack align="stretch" spacing={0}>
{/* 页面头部:标题、搜索、自选股按钮 */} {/* 页面头部:标题、搜索、自选股按钮 */}
<CompanyHeader <CompanyHeader
stockCode={stockCode} stockCode={stockCode}
@@ -76,18 +76,14 @@ const CompanyIndex = () => {
isInWatchlist={isInWatchlist} isInWatchlist={isInWatchlist}
isWatchlistLoading={isWatchlistLoading} isWatchlistLoading={isWatchlistLoading}
onWatchlistToggle={handleWatchlistToggle} onWatchlistToggle={handleWatchlistToggle}
bgColor="white" bgColor="#1A202C"
/> />
{/* 股票行情卡片:价格、关键指标、主力动态 */} {/* 股票行情卡片:价格、关键指标、主力动态 */}
<StockQuoteCard /> <StockQuoteCard />
{/* Tab 切换区域:概览、行情、财务、预测 */} {/* Tab 切换区域:概览、行情、财务、预测 */}
<CompanyTabs <CompanyTabs stockCode={stockCode} onTabChange={trackTabChanged} bgColor="#1A202C"/>
stockCode={stockCode}
onTabChange={trackTabChanged}
bgColor="white"
/>
</VStack> </VStack>
</Container> </Container>
); );