feat(layout): 重构布局组件体系与数据层
- 重构 Header 导航、Footer 页脚、MobileMenu 移动端菜单 - 新增 MobileTabBar 移动端底部导航栏 - 更新 MegaDropdown 大型下拉导航 - 重构 SEO 结构化数据组件 - 更新数据层常量 (products, services, solutions, navigation 等) - 新增 useCountUp 数字递增 Hook - 修复 .gitignore 中 src/lib 被错误忽略的问题
This commit is contained in:
@@ -59,13 +59,13 @@ export const DESIGN_SYSTEM = {
|
||||
|
||||
effects: {
|
||||
inkGlow: {
|
||||
border: 'conic-gradient(from var(--angle), transparent 0%, var(--color-brand-primary) 10%, transparent 20%)',
|
||||
glow: 'radial-gradient(circle at var(--mouse-x) var(--mouse-y), rgba(var(--color-brand-primary-rgb), 0.15) 0%, transparent 50%)',
|
||||
border: 'conic-gradient(from var(--angle), transparent 0%, var(--color-brand) 10%, transparent 20%)',
|
||||
glow: 'radial-gradient(circle at var(--mouse-x) var(--mouse-y), rgba(var(--color-brand-rgb), 0.15) 0%, transparent 50%)',
|
||||
speed: '3s',
|
||||
},
|
||||
hover: {
|
||||
translateY: '-4px',
|
||||
shadow: 'shadow-xl shadow-[var(--color-shadow-color)]',
|
||||
shadow: 'shadow-xl',
|
||||
transition: 'all 0.3s cubic-bezier(0.4, 0, 0.2, 1)',
|
||||
},
|
||||
scroll: {
|
||||
@@ -85,10 +85,10 @@ export const DESIGN_SYSTEM = {
|
||||
// These are used for inline styles where Tailwind classes aren't feasible
|
||||
colors: {
|
||||
brand: {
|
||||
primary: 'var(--color-brand-primary)',
|
||||
light: 'var(--color-brand-primary-bg)',
|
||||
lighter: 'rgba(var(--color-brand-primary-rgb), 0.04)',
|
||||
gradient: 'linear-gradient(135deg, var(--color-brand-primary) 0%, #99182d 100%)',
|
||||
primary: 'var(--color-brand)',
|
||||
light: 'var(--color-brand-bg)',
|
||||
lighter: 'rgba(var(--color-brand-rgb), 0.04)',
|
||||
gradient: 'linear-gradient(135deg, var(--color-brand) 0%, #99182d 100%)',
|
||||
},
|
||||
neutral: {
|
||||
50: 'var(--color-bg-primary)',
|
||||
@@ -111,23 +111,23 @@ export const DESIGN_SYSTEM = {
|
||||
|
||||
components: {
|
||||
card: {
|
||||
base: 'rounded-2xl border border-[var(--color-border-primary)] overflow-hidden transition-all duration-300 bg-[var(--color-surface-primary)]',
|
||||
hover: 'hover:border-[rgba(var(--color-brand-primary-rgb),0.2)] hover:shadow-lg hover:-translate-y-1',
|
||||
base: 'rounded-2xl border border-[var(--color-border-primary)] overflow-hidden transition-all duration-300 bg-[var(--color-bg-primary)]',
|
||||
hover: 'hover:border-[rgba(var(--color-brand-rgb),0.2)] hover:shadow-lg hover:-translate-y-1',
|
||||
padding: 'p-6 lg:p-8',
|
||||
},
|
||||
badge: {
|
||||
base: 'inline-flex items-center gap-1.5 px-3 py-1 rounded-full text-xs font-medium',
|
||||
variants: {
|
||||
primary: 'bg-[var(--color-brand-primary-bg)] text-[var(--color-brand-primary)]',
|
||||
primary: 'bg-[var(--color-brand-bg)] text-[var(--color-brand)]',
|
||||
secondary: 'bg-[var(--color-bg-tertiary)] text-[var(--color-text-secondary)]',
|
||||
success: 'bg-green-50 text-green-700',
|
||||
warning: 'bg-yellow-50 text-yellow-700',
|
||||
},
|
||||
},
|
||||
button: {
|
||||
primary: 'inline-flex items-center gap-2 px-6 py-3 text-white font-semibold rounded-lg shadow-md transition-all duration-200 bg-[var(--color-brand-primary)] hover:brightness-110 hover:shadow-lg',
|
||||
secondary: 'inline-flex items-center gap-2 px-6 py-3 font-semibold rounded-lg border transition-all duration-200 bg-[var(--color-surface-primary)] text-[var(--color-text-secondary)] border-[var(--color-border-primary)] hover:border-[var(--color-text-hint)] hover:shadow-sm',
|
||||
ghost: 'inline-flex items-center gap-2 px-4 py-2 font-medium rounded-lg transition-colors duration-200 text-[var(--color-brand-primary)] hover:bg-[var(--color-brand-primary-bg)]',
|
||||
primary: 'inline-flex items-center gap-2 px-6 py-3 text-white font-semibold rounded-lg shadow-md transition-all duration-200 bg-[var(--color-brand)] hover:brightness-110 hover:shadow-lg',
|
||||
secondary: 'inline-flex items-center gap-2 px-6 py-3 font-semibold rounded-lg border transition-all duration-200 bg-[var(--color-bg-primary)] text-[var(--color-text-secondary)] border-[var(--color-border-primary)] hover:border-[var(--color-text-hint)] hover:shadow-sm',
|
||||
ghost: 'inline-flex items-center gap-2 px-4 py-2 font-medium rounded-lg transition-colors duration-200 text-[var(--color-brand)] hover:bg-[var(--color-brand-bg)]',
|
||||
},
|
||||
metric: {
|
||||
container: 'text-center p-6 rounded-xl border bg-[var(--color-bg-section)] border-[var(--color-border-primary)]',
|
||||
|
||||
Reference in New Issue
Block a user