theme/mode.go
Functions
func IsDark
func (m ThemeMode) IsDark() bool {
return m == ModeDark
}
func IsLight
IsLight returns true if this mode represents a light color scheme.
Note: This returns false for ModeSystem, as the actual scheme depends
on the operating system preference which must be determined elsewhere.
func (m ThemeMode) IsLight() bool {
return m == ModeLight
}
func IsSystem
IsSystem returns true if this mode follows the system preference.
func (m ThemeMode) IsSystem() bool {
return m == ModeSystem
}
func ResolvedMode
ResolvedMode returns the effective mode when system preference is known.
If the mode is ModeSystem, it returns lightIfSystem when preferLight is true,
otherwise ModeDark. For explicit modes (ModeLight, ModeDark), it returns
the mode unchanged.
Example:
mode := theme.ModeSystem
effectiveMode := mode.ResolvedMode(osPrefersDarkMode)
// effectiveMode will be ModeDark if osPrefersDarkMode is true
func (m ThemeMode) ResolvedMode(preferLight bool) ThemeMode {
if m != ModeSystem {
return m
}
if preferLight {
return ModeLight
}
return ModeDark
}
func String
String returns a human-readable name for the theme mode.
func (m ThemeMode) String() string {
switch m {
case ModeLight:
return modeLight
case ModeDark:
return modeDark
case ModeSystem:
return modeSystem
default:
return unknownStr
}
}
IsDark returns true if this mode represents a dark color scheme.
Note: This returns false for ModeSystem, as the actual scheme depends
on the operating system preference which must be determined elsewhere.