refactor: 大量前端页面/组件样式从硬编码颜色迁移到 antd token 主题变量

This commit is contained in:
xiamuceer-j
2026-03-06 14:14:57 +08:00
parent 7c9716b485
commit f1d7975ea4
40 changed files with 1755 additions and 1375 deletions
+18 -17
View File
@@ -2,7 +2,7 @@ import { useState, useEffect } from 'react';
import { useNavigate, useSearchParams } from 'react-router-dom';
import {
Form, Input, InputNumber, Select, Button, Card,
Row, Col, Typography, Space, message, Radio
Row, Col, Typography, Space, message, Radio, theme
} from 'antd';
import {
RocketOutlined, ArrowLeftOutlined, CheckCircleOutlined
@@ -18,6 +18,7 @@ export default function ProjectWizardNew() {
const [searchParams] = useSearchParams();
const [form] = Form.useForm();
const [isMobile, setIsMobile] = useState(window.innerWidth <= 768);
const { token } = theme.useToken();
// 状态管理
const [currentStep, setCurrentStep] = useState<'form' | 'generating'>('form');
@@ -196,7 +197,7 @@ export default function ProjectWizardNew() {
<Card
hoverable
style={{
borderColor: form.getFieldValue('outline_mode') === 'one-to-one' ? 'var(--color-primary)' : 'var(--color-border)',
// borderColor: form.getFieldValue('outline_mode') === 'one-to-one' ? token.colorPrimary : token.colorBorder,
borderWidth: 2,
height: '100%',
}}
@@ -205,13 +206,13 @@ export default function ProjectWizardNew() {
<Radio value="one-to-one" style={{ width: '100%' }}>
<Space direction="vertical" size={4} style={{ width: '100%' }}>
<div style={{ fontSize: 16, fontWeight: 'bold' }}>
<CheckCircleOutlined style={{ marginRight: 8, color: 'var(--color-success)' }} />
<CheckCircleOutlined style={{ marginRight: 8, color: token.colorSuccess }} />
(11)
</div>
<div style={{ fontSize: 12, color: '#666' }}>
<div style={{ fontSize: 12, color: token.colorTextSecondary }}>
</div>
<div style={{ fontSize: 11, color: '#999' }}>
<div style={{ fontSize: 11, color: token.colorTextTertiary }}>
💡
</div>
</Space>
@@ -223,7 +224,7 @@ export default function ProjectWizardNew() {
<Card
hoverable
style={{
borderColor: form.getFieldValue('outline_mode') === 'one-to-many' ? 'var(--color-primary)' : 'var(--color-border)',
// borderColor: form.getFieldValue('outline_mode') === 'one-to-many' ? token.colorPrimary : token.colorBorder,
borderWidth: 2,
height: '100%',
}}
@@ -232,13 +233,13 @@ export default function ProjectWizardNew() {
<Radio value="one-to-many" style={{ width: '100%' }}>
<Space direction="vertical" size={4} style={{ width: '100%' }}>
<div style={{ fontSize: 16, fontWeight: 'bold' }}>
<CheckCircleOutlined style={{ marginRight: 8, color: 'var(--color-success)' }} />
<CheckCircleOutlined style={{ marginRight: 8, color: token.colorSuccess }} />
(1N)
</div>
<div style={{ fontSize: 12, color: '#666' }}>
<div style={{ fontSize: 12, color: token.colorTextSecondary }}>
</div>
<div style={{ fontSize: 11, color: '#999' }}>
<div style={{ fontSize: 11, color: token.colorTextTertiary }}>
💡
</div>
</Space>
@@ -322,15 +323,15 @@ export default function ProjectWizardNew() {
return (
<div style={{
minHeight: '100dvh',
background: 'var(--color-bg-base)',
background: token.colorBgBase,
}}>
{/* 顶部标题栏 - 固定不滚动 */}
<div style={{
position: 'sticky',
top: 0,
zIndex: 100,
background: 'var(--color-primary)',
boxShadow: 'var(--shadow-header)',
background: token.colorPrimary,
boxShadow: `0 6px 20px color-mix(in srgb, ${token.colorPrimary} 30%, transparent)`,
}}>
<div style={{
maxWidth: 1200,
@@ -346,9 +347,9 @@ export default function ProjectWizardNew() {
size={isMobile ? 'middle' : 'large'}
disabled={currentStep === 'generating'}
style={{
background: 'rgba(255,255,255,0.2)',
borderColor: 'rgba(255,255,255,0.3)',
color: '#fff',
background: `color-mix(in srgb, ${token.colorWhite} 20%, transparent)`,
borderColor: `color-mix(in srgb, ${token.colorWhite} 30%, transparent)`,
color: token.colorWhite,
}}
>
{isMobile ? '返回' : '返回首页'}
@@ -356,8 +357,8 @@ export default function ProjectWizardNew() {
<Title level={isMobile ? 4 : 2} style={{
margin: 0,
color: '#fff',
textShadow: '0 2px 4px rgba(0,0,0,0.1)',
color: token.colorWhite,
textShadow: '0 2px 4px color-mix(in srgb, var(--ant-color-black) 18%, transparent)',
}}>
<RocketOutlined style={{ marginRight: 8 }} />