saveTheme method

  1. @override
Future<void> saveTheme(
  1. {required ZetaThemeData themeData,
  2. required ThemeMode themeMode,
  3. required ZetaContrast contrast}
)
override

An overridden method to save the theme, theme mode, and contrast.

Save the setting as a JSON string to local storage (SharedPreferences).

Called from ZetaProvider when any theme attribute is changed

Implementation

@override
Future<void> saveTheme({
  required ZetaThemeData themeData,
  required ThemeMode themeMode,
  required ZetaContrast contrast,
}) async {
  final data = await load();
  final newData = data.copyWith(themeData: themeData, themeMode: themeMode, contrast: contrast);
  await preferences.setString('zds.theme.preferences.json', jsonEncode(newData.toJson()));
}