feat(branding): add global dynamic theme system and fix 2fa mail
This commit is contained in:
210
shop/lib/constants/branding.ts
Normal file
210
shop/lib/constants/branding.ts
Normal file
@@ -0,0 +1,210 @@
|
||||
export interface BrandingSettings {
|
||||
companyName: string
|
||||
logoUrl?: string
|
||||
developerFooter?: string
|
||||
street: string
|
||||
zip: string
|
||||
city: string
|
||||
billingStreet: string
|
||||
billingZip: string
|
||||
billingCity: string
|
||||
sameBillingAddress: boolean
|
||||
colorScheme: string
|
||||
primaryColor: string
|
||||
accentColor: string
|
||||
successColor?: string
|
||||
warningColor?: string
|
||||
destructiveColor?: string
|
||||
bgGlow1?: string
|
||||
bgGlow2?: string
|
||||
gradientFrom?: string
|
||||
gradientTo?: string
|
||||
cardBorder?: string
|
||||
textHighlight?: string
|
||||
buttonBg?: string
|
||||
ringColor?: string
|
||||
}
|
||||
|
||||
export interface ColorPreset {
|
||||
id: string
|
||||
name: string
|
||||
description: string
|
||||
primary: string
|
||||
accent: string
|
||||
success: string
|
||||
warning: string
|
||||
destructive: string
|
||||
bgGlow1: string
|
||||
bgGlow2: string
|
||||
gradientFrom: string
|
||||
gradientTo: string
|
||||
cardBorder: string
|
||||
textHighlight: string
|
||||
buttonBg: string
|
||||
ringColor: string
|
||||
}
|
||||
|
||||
export const PRESET_COLOR_SCHEMES: ColorPreset[] = [
|
||||
{
|
||||
id: 'alabaster_racing_red',
|
||||
name: 'Alabaster & Racing Red',
|
||||
description: 'Sportlich, Dynamisch & High-End',
|
||||
primary: '#dc2626',
|
||||
accent: '#f8fafc',
|
||||
success: '#10b981',
|
||||
warning: '#f59e0b',
|
||||
destructive: '#b91c1c',
|
||||
bgGlow1: '#ef4444',
|
||||
bgGlow2: '#7f1d1d',
|
||||
gradientFrom: '#dc2626',
|
||||
gradientTo: '#991b1b',
|
||||
cardBorder: 'rgba(220, 38, 38, 0.35)',
|
||||
textHighlight: '#fca5a5',
|
||||
buttonBg: '#dc2626',
|
||||
ringColor: '#ef4444',
|
||||
},
|
||||
{
|
||||
id: 'black_cherry_gold',
|
||||
name: 'Black Cherry & Gold',
|
||||
description: 'Luxuriös, Exklusiv & Tief',
|
||||
primary: '#881337',
|
||||
accent: '#f59e0b',
|
||||
success: '#10b981',
|
||||
warning: '#fbbf24',
|
||||
destructive: '#be123c',
|
||||
bgGlow1: '#9f1239',
|
||||
bgGlow2: '#d97706',
|
||||
gradientFrom: '#881337',
|
||||
gradientTo: '#d97706',
|
||||
cardBorder: 'rgba(245, 158, 11, 0.35)',
|
||||
textHighlight: '#fde68a',
|
||||
buttonBg: '#881337',
|
||||
ringColor: '#f59e0b',
|
||||
},
|
||||
{
|
||||
id: 'coffee_bean_cream',
|
||||
name: 'Coffee Bean & Cream',
|
||||
description: 'Warm, Organisch & Elegant',
|
||||
primary: '#78350f',
|
||||
accent: '#fde68a',
|
||||
success: '#059669',
|
||||
warning: '#d97706',
|
||||
destructive: '#991b1b',
|
||||
bgGlow1: '#92400e',
|
||||
bgGlow2: '#b45309',
|
||||
gradientFrom: '#78350f',
|
||||
gradientTo: '#b45309',
|
||||
cardBorder: 'rgba(253, 230, 138, 0.35)',
|
||||
textHighlight: '#fef3c7',
|
||||
buttonBg: '#78350f',
|
||||
ringColor: '#d97706',
|
||||
},
|
||||
{
|
||||
id: 'modern_blue',
|
||||
name: 'Modern Blue',
|
||||
description: 'Klassisch, Vertrauensvoll & Seriös',
|
||||
primary: '#2563eb',
|
||||
accent: '#38bdf8',
|
||||
success: '#10b981',
|
||||
warning: '#f59e0b',
|
||||
destructive: '#ef4444',
|
||||
bgGlow1: '#3b82f6',
|
||||
bgGlow2: '#1d4ed8',
|
||||
gradientFrom: '#2563eb',
|
||||
gradientTo: '#1e40af',
|
||||
cardBorder: 'rgba(56, 189, 248, 0.35)',
|
||||
textHighlight: '#93c5fd',
|
||||
buttonBg: '#2563eb',
|
||||
ringColor: '#38bdf8',
|
||||
},
|
||||
{
|
||||
id: 'emerald_green',
|
||||
name: 'Emerald Green',
|
||||
description: 'Frisch, Nachhaltig & Vital',
|
||||
primary: '#059669',
|
||||
accent: '#34d399',
|
||||
success: '#10b981',
|
||||
warning: '#f59e0b',
|
||||
destructive: '#e11d48',
|
||||
bgGlow1: '#10b981',
|
||||
bgGlow2: '#047857',
|
||||
gradientFrom: '#059669',
|
||||
gradientTo: '#065f46',
|
||||
cardBorder: 'rgba(52, 211, 153, 0.35)',
|
||||
textHighlight: '#a7f3d0',
|
||||
buttonBg: '#059669',
|
||||
ringColor: '#34d399',
|
||||
},
|
||||
{
|
||||
id: 'violet_glow',
|
||||
name: 'Violet Glow',
|
||||
description: 'Kreativ, Modern & Futuristisch',
|
||||
primary: '#7c3aed',
|
||||
accent: '#c084fc',
|
||||
success: '#10b981',
|
||||
warning: '#f59e0b',
|
||||
destructive: '#be123c',
|
||||
bgGlow1: '#8b5cf6',
|
||||
bgGlow2: '#5b21b6',
|
||||
gradientFrom: '#7c3aed',
|
||||
gradientTo: '#4c1d95',
|
||||
cardBorder: 'rgba(192, 132, 252, 0.35)',
|
||||
textHighlight: '#ddd6fe',
|
||||
buttonBg: '#7c3aed',
|
||||
ringColor: '#c084fc',
|
||||
},
|
||||
{
|
||||
id: 'sunset_orange',
|
||||
name: 'Sunset Orange',
|
||||
description: 'Dynamisch, Aktiv & Energetisch',
|
||||
primary: '#ea580c',
|
||||
accent: '#fb923c',
|
||||
success: '#10b981',
|
||||
warning: '#f59e0b',
|
||||
destructive: '#dc2626',
|
||||
bgGlow1: '#f97316',
|
||||
bgGlow2: '#9a3412',
|
||||
gradientFrom: '#ea580c',
|
||||
gradientTo: '#9a3412',
|
||||
cardBorder: 'rgba(251, 146, 60, 0.35)',
|
||||
textHighlight: '#ffedd5',
|
||||
buttonBg: '#ea580c',
|
||||
ringColor: '#fb923c',
|
||||
},
|
||||
{
|
||||
id: 'cyan_neon',
|
||||
name: 'Cyan Neon',
|
||||
description: 'Futuristisch, High-Tech & Klar',
|
||||
primary: '#0891b2',
|
||||
accent: '#22d3ee',
|
||||
success: '#10b981',
|
||||
warning: '#f59e0b',
|
||||
destructive: '#f43f5e',
|
||||
bgGlow1: '#06b6d4',
|
||||
bgGlow2: '#155e75',
|
||||
gradientFrom: '#0891b2',
|
||||
gradientTo: '#155e75',
|
||||
cardBorder: 'rgba(34, 211, 238, 0.35)',
|
||||
textHighlight: '#cffafe',
|
||||
buttonBg: '#0891b2',
|
||||
ringColor: '#22d3ee',
|
||||
},
|
||||
{
|
||||
id: 'midnight_slate',
|
||||
name: 'Midnight Slate',
|
||||
description: 'Minimalistisch, Dunkel & Puristisch',
|
||||
primary: '#475569',
|
||||
accent: '#cbd5e1',
|
||||
success: '#10b981',
|
||||
warning: '#f59e0b',
|
||||
destructive: '#ef4444',
|
||||
bgGlow1: '#64748b',
|
||||
bgGlow2: '#1e293b',
|
||||
gradientFrom: '#475569',
|
||||
gradientTo: '#0f172a',
|
||||
cardBorder: 'rgba(203, 213, 225, 0.35)',
|
||||
textHighlight: '#f1f5f9',
|
||||
buttonBg: '#475569',
|
||||
ringColor: '#cbd5e1',
|
||||
},
|
||||
]
|
||||
Reference in New Issue
Block a user