1import 'package:flutter/material.dart';
2import 'package:equatable/equatable.dart';
3import 'package:flutter_bloc/flutter_bloc.dart';
4import 'package:shared_preferences/shared_preferences.dart';
20 List<Object?> get
props => [];
44 Emitter<ThemeModeState> emit,
46 final prefs = await SharedPreferences.getInstance();
48 if (savedThemeMode == null) {
59 Emitter<ThemeModeState> emit,
61 final prefs = await SharedPreferences.getInstance();
62 await prefs.setString(
_themeModeKey, event.themeMode.toString());
67 switch (themeModeString) {
68 case 'ThemeMode.light':
69 return ThemeMode.light;
70 case 'ThemeMode.dark':
71 return ThemeMode.dark;
73 return ThemeMode.system;
ThemeMode _getThemeModeFromString(String themeModeString)
Future< void > _onChangeThemeMode(ChangeThemeMode event, Emitter< ThemeModeState > emit,) async
Future< void > _onLoadThemeMode(LoadThemeMode event, Emitter< ThemeModeState > emit,) async
static const String _themeModeKey
const ThemeModeState({required this.themeMode})
final ThemeMode themeMode
class ThemeModeState extends Equatable ThemeModeEvent()
const ChangeThemeMode(this.themeMode)
final ThemeMode themeMode
override List< Object?> get props
const ThemeModeState({required this.themeMode})
abstract class UseCase< Type, Params > props