buildWithDesignSystem<Payload, Result> static method
Widget
buildWithDesignSystem<Payload, Result>({
- required SmartRepository<
Payload, Result> repository, - required Widget success(
- BuildContext,
- Result
- WidgetBuilder? loading,
- WidgetBuilder? fail,
- WidgetBuilder? initial,
- ComponentInitialAction<
Payload> initialAction = const ComponentInitialAction.none(), - SmartController<
Payload, Result> ? controller, - dynamic listener(
- BuildContext,
- SmartState<
Result>
Implementation
static Widget buildWithDesignSystem<Payload, Result>({
required SmartRepository<Payload, Result> repository,
required Widget Function(BuildContext, Result) success,
WidgetBuilder? loading,
WidgetBuilder? fail,
WidgetBuilder? initial,
ComponentInitialAction<Payload> initialAction = const ComponentInitialAction.none(),
SmartController<Payload, Result>? controller,
Function(BuildContext, SmartState<Result>)? listener,
}) {
return SmartFeatureBuilder.build<Payload, Result>(
repository: repository,
initialAction: initialAction,
controller: controller,
listener: listener,
builder: (context, state) {
return state.when(
// `TODO`(Matias): Replace widgets with design system widgets
initial: () => initial?.call(context) ?? const Center(child: Text('Press to submit data')),
loading: (_, __) => loading?.call(context) ?? const CircularProgressIndicator.adaptive(),
fail: (_) => fail?.call(context) ?? const Center(child: Text('Failed to submit data')),
success: (data) => success(context, data),
);
},
);
}