openIt static method

Future<void> openIt(
  1. BuildContext context,
  2. String name,
  3. Widget dialog, {
  4. double? heightValue,
  5. double? widthValue,
})

Implementation

static Future<void> openIt(BuildContext context, String name, Widget dialog,
    {double? heightValue, double? widthValue}) async {
  var widthV =
      widthValue == null ? width(context) : min(width(context), widthValue);
  var heightV = heightValue == null
      ? height(context)
      : min(height(context), heightValue);

  await showGeneralDialog(
      routeSettings: RouteSettings(name: name),
      context: context,
      barrierDismissible: false,
      transitionDuration: Duration(milliseconds: 500),
      transitionBuilder: (context, animation, secondaryAnimation, child) {
        return FadeTransition(
          opacity: animation,
          child: ScaleTransition(
            scale: animation,
            child: child,
          ),
        );
      },
      pageBuilder: (context, animation, secondaryAnimation) {
        // using a PointerInterceptor in case we open a dialog over a web iframe, to make sure the focus is on the dialog
        return PointerInterceptor(
            child: SafeArea(
                child: Container(
                    child: Align(
                        alignment: Alignment.center,
                        child: SizedBox(
                            width: widthV,
                            height: heightV,
                            child: dialog)))));
      });
}