/** * 价值论坛黑金主题配置 * 采用深色背景 + 金色点缀的高端配色方案 */ export const forumColors = { // 主色调 - 黑金渐变 primary: { 50: '#FFF9E6', 100: '#FFEEBA', 200: '#FFE38D', 300: '#FFD860', 400: '#FFCD33', 500: '#FFC107', // 主金色 600: '#FFB300', 700: '#FFA000', 800: '#FF8F00', 900: '#FF6F00', }, // 背景色系 - 深黑渐变 background: { main: '#0A0A0A', // 主背景 - 极黑 secondary: '#121212', // 次级背景 card: '#1A1A1A', // 卡片背景 hover: '#222222', // 悬停背景 elevated: '#2A2A2A', // 提升背景(模态框等) }, // 文字色系 text: { primary: '#FFFFFF', // 主文字 - 纯白 secondary: '#B8B8B8', // 次要文字 - 灰色 tertiary: '#808080', // 三级文字 - 深灰 muted: '#5A5A5A', // 弱化文字 gold: '#FFC107', // 金色强调文字 goldGradient: 'linear-gradient(135deg, #FFD700 0%, #FFA500 100%)', // 金色渐变 }, // 边框色系 border: { default: '#333333', light: '#404040', gold: '#FFC107', goldGlow: 'rgba(255, 193, 7, 0.3)', }, // 功能色 semantic: { success: '#4CAF50', warning: '#FF9800', error: '#F44336', info: '#2196F3', }, // 金色渐变系列 gradients: { goldPrimary: 'linear-gradient(135deg, #FFD700 0%, #FFA500 100%)', goldSecondary: 'linear-gradient(135deg, #FFC107 0%, #FF8F00 100%)', goldSubtle: 'linear-gradient(135deg, rgba(255, 215, 0, 0.1) 0%, rgba(255, 165, 0, 0.05) 100%)', blackGold: 'linear-gradient(135deg, #0A0A0A 0%, #1A1A1A 50%, #2A2020 100%)', cardHover: 'linear-gradient(135deg, #1A1A1A 0%, #252525 100%)', }, // 阴影色系 shadows: { sm: '0 1px 2px 0 rgba(0, 0, 0, 0.5)', md: '0 4px 6px -1px rgba(0, 0, 0, 0.6), 0 2px 4px -1px rgba(0, 0, 0, 0.4)', lg: '0 10px 15px -3px rgba(0, 0, 0, 0.7), 0 4px 6px -2px rgba(0, 0, 0, 0.5)', xl: '0 20px 25px -5px rgba(0, 0, 0, 0.8), 0 10px 10px -5px rgba(0, 0, 0, 0.6)', gold: '0 0 20px rgba(255, 193, 7, 0.3), 0 0 40px rgba(255, 193, 7, 0.1)', goldHover: '0 0 30px rgba(255, 193, 7, 0.5), 0 0 60px rgba(255, 193, 7, 0.2)', }, }; /** * 论坛组件样式配置 */ export const forumComponentStyles = { // 按钮样式 Button: { baseStyle: { fontWeight: '600', borderRadius: 'md', transition: 'all 0.3s ease', }, variants: { gold: { bg: forumColors.gradients.goldPrimary, color: '#0A0A0A', _hover: { transform: 'translateY(-2px)', boxShadow: forumColors.shadows.goldHover, _disabled: { transform: 'none', }, }, _active: { transform: 'translateY(0)', }, }, goldOutline: { bg: 'transparent', color: forumColors.primary[500], border: '2px solid', borderColor: forumColors.primary[500], _hover: { bg: forumColors.gradients.goldSubtle, boxShadow: forumColors.shadows.gold, }, }, dark: { bg: forumColors.background.card, color: forumColors.text.primary, border: '1px solid', borderColor: forumColors.border.default, _hover: { bg: forumColors.background.hover, borderColor: forumColors.border.light, }, }, }, }, // 卡片样式 Card: { baseStyle: { container: { bg: forumColors.background.card, borderRadius: 'lg', border: '1px solid', borderColor: forumColors.border.default, transition: 'all 0.3s ease', _hover: { borderColor: forumColors.border.gold, boxShadow: forumColors.shadows.gold, transform: 'translateY(-4px)', }, }, }, }, // 输入框样式 Input: { variants: { forum: { field: { bg: forumColors.background.secondary, border: '1px solid', borderColor: forumColors.border.default, color: forumColors.text.primary, _placeholder: { color: forumColors.text.tertiary, }, _hover: { borderColor: forumColors.border.light, }, _focus: { borderColor: forumColors.border.gold, boxShadow: `0 0 0 1px ${forumColors.border.goldGlow}`, }, }, }, }, }, // 标签样式 Tag: { variants: { gold: { container: { bg: forumColors.gradients.goldSubtle, color: forumColors.primary[500], border: '1px solid', borderColor: forumColors.border.gold, }, }, }, }, }; /** * 论坛专用动画配置 */ export const forumAnimations = { fadeIn: { initial: { opacity: 0, y: 20 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: -20 }, transition: { duration: 0.3 }, }, slideIn: { initial: { opacity: 0, x: -20 }, animate: { opacity: 1, x: 0 }, exit: { opacity: 0, x: 20 }, transition: { duration: 0.3 }, }, scaleIn: { initial: { opacity: 0, scale: 0.9 }, animate: { opacity: 1, scale: 1 }, exit: { opacity: 0, scale: 0.9 }, transition: { duration: 0.2 }, }, goldGlow: { animate: { boxShadow: [ forumColors.shadows.gold, forumColors.shadows.goldHover, forumColors.shadows.gold, ], }, transition: { duration: 2, repeat: Infinity, repeatType: 'reverse', }, }, }; export default { colors: forumColors, components: forumComponentStyles, animations: forumAnimations, };