theme method

void theme({
  1. ThemeMode? mode,
  2. ThemeData? theme,
  3. ThemeData? darkTheme,
  4. Color? seedColor,
  5. Color? darkSeedColor,
  6. bool? useMaterial3,
})

Implementation

void theme({ThemeMode? mode, ThemeData? theme, ThemeData? darkTheme, Color? seedColor, Color? darkSeedColor, bool? useMaterial3}) {
  if (theme != null) {
    _themeData = theme;
  } else if (seedColor != null) {
    _themeData = ThemeData(useMaterial3: useMaterial3, colorSchemeSeed: seedColor, brightness: Brightness.light);
  }
  if (darkTheme != null) {
    _darkThemeData = darkTheme;
  } else if (darkSeedColor != null) {
    _darkThemeData = ThemeData(useMaterial3: useMaterial3, colorSchemeSeed: darkSeedColor, brightness: Brightness.dark);
  }
  if (mode != null) {
    _themeMode = mode;
  } else {
    bool hasLight = theme != null || seedColor != null;
    bool hasDark = darkTheme != null || darkSeedColor != null;
    if (hasLight && !hasDark) {
      _themeMode = ThemeMode.light;
    } else if (hasDark && !hasLight) {
      _themeMode = ThemeMode.dark;
    }
  }
}