import 'dart:developer'; import '../../../infrastructure/utilityWidgets/loadableHydratedBloc/loadable_hydrated_bloc.dart'; import '../../../infrastructure/utilityWidgets/loadableHydratedBloc/loadable_hydrated_bloc_event.dart'; import '../repository/holidays_repository.dart'; import 'holidays_event.dart'; import 'holidays_state.dart'; class HolidaysBloc extends LoadableHydratedBloc { HolidaysBloc() { on((event, emit) { log('set pastholidays: ${event.shouldBeVisible.toString()}'); add(Emit((state) => state.copyWith(showPastHolidays: state.showPastHolidays))); }); on((event, emit) => add( Emit((state) => state.copyWith(showDisclaimer: false)) )); } bool showPastHolidays() => innerState?.showPastHolidays ?? false; @override fromNothing() => const HolidaysState(showPastHolidays: false, holidays: [], showDisclaimer: true); @override fromStorage(Map json) => HolidaysState.fromJson(json); @override Future gatherData() async { var holidays = await repo.getHolidays(); add(DataGathered((state) => state.copyWith(holidays: holidays))); } @override repository() => HolidaysRepository(); @override Map? toStorage(state) => state.toJson(); }