setTheme method

dynamic setTheme(
  1. String sBrightness, [
  2. String? sColor,
  3. Map<String, String>? schemeColors
])

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();
}