27 lines
686 B
Dart
27 lines
686 B
Dart
import 'package:flutter_bloc/flutter_bloc.dart';
|
|
import 'package:flutter/services.dart';
|
|
import 'package:get_it/get_it.dart';
|
|
import 'package:meta/meta.dart';
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
|
|
|
export 'package:flutter_bloc/flutter_bloc.dart';
|
|
|
|
@immutable
|
|
class SetTheme {
|
|
final bool isDark;
|
|
const SetTheme(this.isDark);
|
|
}
|
|
|
|
class ThemeBloc extends Bloc<SetTheme, Brightness> {
|
|
ThemeBloc({
|
|
required Brightness init,
|
|
}) : super(init) {
|
|
on<SetTheme>((event, emit) {
|
|
GetIt.instance
|
|
.get<SharedPreferences>()
|
|
.setBool('darkTheme', event.isDark);
|
|
emit(event.isDark ? Brightness.dark : Brightness.light);
|
|
});
|
|
}
|
|
}
|