/** * 主题配置 Provider * 使用 Ant Design 5 的 ConfigProvider 覆盖主题 Token */ import { ConfigProvider, type ThemeConfig } from 'antd' import zhCN from 'antd/locale/zh_CN' import type { ReactNode } from 'react' /** * Ant Design 主题配置 * 基于 Mineral Console 视觉方向 */ const themeConfig: ThemeConfig = { token: { // 主色 colorPrimary: '#0e5a6a', colorPrimaryHover: '#0a4b59', colorPrimaryActive: '#083d4a', // 成功色 colorSuccess: '#217a5b', // 警告色 colorWarning: '#b7791f', // 错误色 colorError: '#b33a3a', // 信息色 colorInfo: '#2d6a9f', // 字体 fontFamily: '"IBM Plex Sans", "PingFang SC", "Microsoft YaHei", sans-serif', fontSize: 14, // 圆角 borderRadius: 10, borderRadiusLG: 16, borderRadiusSM: 6, // 链接 colorLink: '#0e5a6a', colorLinkHover: '#0a4b59', colorLinkActive: '#083d4a', }, components: { // 表格组件定制 Table: { headerBg: '#f8f5ef', borderColor: '#d6d0c3', rowHoverBg: 'rgba(14, 90, 106, 0.04)', }, // 卡片组件定制 Card: { borderRadiusLG: 16, boxShadowTertiary: '0 10px 30px rgba(23, 33, 43, 0.06)', }, // 按钮组件定制 Button: { borderRadius: 10, controlHeight: 36, controlHeightLG: 44, controlHeightSM: 28, }, // 输入框组件定制 Input: { borderRadius: 10, controlHeight: 36, }, // 选择器组件定制 Select: { borderRadius: 10, controlHeight: 36, }, }, } interface ThemeProviderProps { children: ReactNode } export function ThemeProvider({ children }: ThemeProviderProps) { return ( {children} ) }