yokutango-mobile-reader/lib/service/theme_bloc.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);
});
}
}