22 lines
695 B
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,
|
|
);
|
|
}
|