setTheme method
Implementation
setTheme(String sBrightness, [String? sColor, Map<String, String>? schemeColors]) async
{
Brightness brightness = await Settings().get('brightness') == 'dark' ? Brightness.dark : Brightness.light;
TextTheme? fontTheme = (libraryLoader?.isCompleted ?? false) ? fonts.GoogleFonts.getTextTheme(System.theme.font) : null;
if (sBrightness.toLowerCase() == 'light')
{
brightness = Brightness.light;
System.theme.brightness = sBrightness.toLowerCase();
}
else if (sBrightness.toLowerCase() == 'dark')
{
brightness = Brightness.dark;
System.theme.brightness = sBrightness.toLowerCase();
}
Settings().set('brightness', sBrightness);
if (sColor != null)
{
Color? colorScheme = ColorObservable.toColor(sColor);
System.theme.colorscheme = sColor;
ThemeData themeData = ThemeData(colorSchemeSeed: colorScheme, brightness: brightness, fontFamily: System.theme.font, textTheme: fontTheme, useMaterial3: true);
_themeData = themeData;
}
else
{
ThemeData themeData = ThemeData(brightness: brightness, colorSchemeSeed: ColorObservable.toColor(System.theme.colorscheme), fontFamily: System.theme.font, textTheme: fontTheme, useMaterial3: true);
_themeData = themeData;
}
notifyListeners();
}