showUFUGeneralDialog function

Future showUFUGeneralDialog({
  1. required Widget child(
    1. UFUBottomSheetController controller
    ),
  2. Widget? secondChild,
  3. bool? isDismissible = true,
  4. bool allowFullWidth = false,
})

Implementation

Future<dynamic> showUFUGeneralDialog({
  required Widget Function(UFUBottomSheetController controller) child,
  Widget? secondChild,
  bool? isDismissible = true,
  bool allowFullWidth = false,
}) async {

  // Avoiding dialog and bottom sheet opening in unit testing
  if (RunModeService.isUnitTestMode) return;

  Widget persistentChild = UFUPopUpBuilder(child: child);

  if (!UFUScreen.isMobile) {
    return await showUFUDialog(child: child, allowFullWidth: allowFullWidth);
  } else {
    return await Get.generalDialog(
        barrierDismissible: isDismissible ?? false,
        barrierLabel: '',
        transitionDuration: const Duration(milliseconds: UFUtils.transitionDuration),
        transitionBuilder: (context, animation, secondaryAnimation, child) {
          return Animations.fromBottom(animation, secondaryAnimation, child);
        },
        pageBuilder: (animation, secondaryAnimation, child) {
          return persistentChild;
        });
  }
}