Add dynamic sidebar text color with brand color contrast
- Add sidebar text color picker to Branding Settings page - Implement auto-calculated complementary text colors based on brand color luminance - Dark themes get light tinted text, light themes get dark tinted text - Add navigation preview showing text on gradient background - Support 10 new lighter color palettes (Soft Mint, Lavender, Peach, etc.) - Add CSS utility classes for brand-text with opacity support - Update sidebar and navigation components to use dynamic text colors - Add sidebar_text_color field to Tenant model with migration 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -66,17 +66,19 @@ const BusinessLayoutContent: React.FC<BusinessLayoutProps> = ({ business, user,
|
||||
setTicketModalId(null);
|
||||
};
|
||||
|
||||
// Set CSS custom properties for brand colors (primary palette + secondary color)
|
||||
// Set CSS custom properties for brand colors (primary palette + secondary color + sidebar text)
|
||||
useEffect(() => {
|
||||
applyBrandColors(
|
||||
business.primaryColor || '#2563eb',
|
||||
business.secondaryColor || business.primaryColor || '#2563eb'
|
||||
business.secondaryColor || business.primaryColor || '#2563eb',
|
||||
business.sidebarTextColor // Optional custom sidebar text color
|
||||
);
|
||||
|
||||
// Cleanup: reset to defaults when component unmounts
|
||||
return () => {
|
||||
applyColorPalette(defaultColorPalette);
|
||||
document.documentElement.style.setProperty('--color-brand-secondary', '#0ea5e9');
|
||||
document.documentElement.style.setProperty('--color-brand-text-rgb', '255 255 255');
|
||||
};
|
||||
}, [business.primaryColor, business.secondaryColor]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user