Client/lib/state/widgets/controller_provider.dart

22 lines
695 B
Dart

import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:provider/single_child_widget.dart';
import '../infrastructure/controller.dart';
class ControllerProvider<TState extends Controller> extends SingleChildStatelessWidget {
final TState Function(BuildContext context) create;
final bool lazy;
final Widget Function(BuildContext context) child;
ControllerProvider({required this.create, this.lazy = true, required this.child, super.key})
: super(child: Builder(builder: child));
@override
Widget buildWithChild(BuildContext context, Widget? child) => BlocProvider(
create: create,
lazy: lazy,
child: child,
);
}