ื“ืœื’ ืœืชื•ื›ืŸ ื”ืจืืฉื™

Theme Customization Deep Dive

Advanced theme customization for the Gauzy Angular frontend.

Theme Architectureโ€‹

Gauzy uses Nebular as the UI framework with customizable themes.

Available Themesโ€‹

ThemeClass NameDescription
LightdefaultWhite/gray light UI
DarkdarkDark mode
CosmiccosmicBlue-purple dark
CorporatecorporateProfessional light

Custom Theme Variablesโ€‹

$nb-themes: nb-register-theme(
(
// Brand colors
color-primary-100: #f2f6ff,
color-primary-500: #3366ff,
color-primary-900: #002885,

// Background
background-basic-color-1: #ffffff,
background-basic-color-2: #f7f9fc,

// Text
text-basic-color: #222b45,
text-hint-color: #8f9bb3,

// Fonts
font-family-primary: "Inter, sans-serif",

// Borders
border-radius: 0.5rem,

// Sidebar
sidebar-width: 16rem,
sidebar-background-color: #f7f9fc
),
default,
default
);

Dynamic Theme Switchingโ€‹

@Injectable()
export class ThemeService {
constructor(private themeService: NbThemeService) {}

switchTheme(themeName: string) {
this.themeService.changeTheme(themeName);
localStorage.setItem("theme", themeName);
}

getCurrentTheme(): string {
return localStorage.getItem("theme") || "default";
}
}

CSS Custom Propertiesโ€‹

Override CSS variables for quick styling:

:root {
--primary-color: #3366ff;
--sidebar-bg: #f7f9fc;
--card-border-radius: 8px;
}

Custom Logo & Brandingโ€‹

Replace the logo in:

  • apps/gauzy/src/assets/images/logos/
  • Configure in Settings โ†’ Organization โ†’ Logo