showBlurDialog<T> static method

Future<T?> showBlurDialog<T>({
  1. required BuildContext context,
  2. required Widget child,
  3. bool barrierDismissible = true,
})

Implementation

static Future<T?> showBlurDialog<T>({
  required BuildContext context,
  required Widget child,
  bool barrierDismissible = true,
}) {
  return showGeneralDialog<T>(
    context: context,
    barrierDismissible: barrierDismissible,
    barrierLabel: "Blur Dialog",
    barrierColor: AppColors.black.withOpacity(0.8),
    transitionDuration: const Duration(milliseconds: 200),
    pageBuilder: (_, __, ___) {
      return GestureDetector(
        onTap: barrierDismissible
            ? () => Navigator.of(context, rootNavigator: true).pop()
            : null,
        child: BackdropFilter(
          filter: ImageFilter.blur(
            sigmaX: 6,
            sigmaY: 6,
          ),
          child: Material(
            color: Colors.transparent,
            child: GestureDetector(
              onTap: (){},
              child: child,
            ),
          ),
        ),
      );
    },
    transitionBuilder: (_, animation, __, child) {
      return FadeTransition(
        opacity: animation,
        child: child,
      );
    },
  );
}