execute method

  1. @override
FutureOr<AWActions?> execute(
  1. AnyWidgetContext context,
  2. ActionPayload payload
)
override

Implementation

@override
FutureOr<AWActions?> execute(
    AnyWidgetContext context, ActionPayload payload) {
  return map(
    showSnackBar: (value) {
      final state = ScaffoldMessenger.maybeOf(context.context);
      if (null == state) return null;

      // TODO: Add reasons via AWActions in constructor
      state.showSnackBar(value.snackBar.toWidget(context));
    },
    hideCurrentSnackBar: (value) {
      final state = ScaffoldMessenger.maybeOf(context.context);
      if (null == state) return null;

      state.hideCurrentSnackBar();
    },
    removeCurrentSnackBar: (value) {
      final state = ScaffoldMessenger.maybeOf(context.context);
      if (null == state) return null;

      state.removeCurrentSnackBar();
    },
    showMaterialBanner: (value) {
      final state = ScaffoldMessenger.maybeOf(context.context);
      if (null == state) return null;

      // TODO: Add reasons via AWActions in constructor
      state.showMaterialBanner(value.materialBanner.toWidget(context));
    },
    hideCurrentMaterialBanner: (value) {
      final state = ScaffoldMessenger.maybeOf(context.context);
      if (null == state) return null;

      state.hideCurrentMaterialBanner();
    },
    removeCurrentMaterialBanner: (value) {
      final state = ScaffoldMessenger.maybeOf(context.context);
      if (null == state) return null;

      state.removeCurrentMaterialBanner();
    },
  );
}