bloc for holidays

This commit is contained in:
2024-06-12 15:53:13 +02:00
parent a33c4ddac5
commit fe93a94fc6
8 changed files with 37 additions and 178 deletions

View File

@ -5,14 +5,19 @@ class BlocModule<TBloc extends StateStreamableSource<TState>, TState> extends St
final TBloc Function(BuildContext context) create;
final Widget Function(BuildContext context, TBloc bloc, TState state) child;
final bool autoRebuild;
const BlocModule({required this.create, required this.child, this.autoRebuild = false, super.key});
final void Function(BuildContext context, TBloc bloc)? onInitialisation;
const BlocModule({required this.create, required this.child, this.autoRebuild = false, this.onInitialisation, super.key});
Widget rebuildChild(BuildContext context) => child(context, context.watch<TBloc>(), context.watch<TBloc>().state);
Widget staticChild(BuildContext context) => child(context, context.read<TBloc>(), context.read<TBloc>().state);
@override
Widget build(BuildContext context) => BlocProvider<TBloc>(
create: create,
create: (context) {
var bloc = create(context);
this.onInitialisation != null ? this.onInitialisation!(context, bloc) : null;
return bloc;
},
child: Builder(
builder: (context) => autoRebuild
? rebuildChild(context)