showAlert function

void showAlert(
  1. BuildContext context,
  2. String message,
  3. Color color,
  4. IconData icon,
  5. Color iconColor,
  6. bool shouldDismiss,
)

Implementation

void showAlert(
  BuildContext context,
  String message,
  Color color,
  IconData icon,
  Color iconColor,
  bool shouldDismiss,
) {
  showGeneralDialog(
    context: context,
    barrierDismissible: false,
    barrierLabel: MaterialLocalizations.of(context).modalBarrierDismissLabel,
    transitionDuration: const Duration(milliseconds: 200),
    pageBuilder: (
      BuildContext buildContext,
      Animation animation,
      Animation secondaryAnimation,
    ) {
      if (shouldDismiss) {
        Future.delayed(const Duration(seconds: 2), () {
          Navigator.of(context, rootNavigator: true).pop(true);
        });
      }
      return Material(
        type: MaterialType.transparency,
        child: WillPopScope(
          onWillPop: () async => false,
          child: Padding(
            padding: const EdgeInsets.all(16.0),
            child: Align(
              alignment: Alignment.bottomCenter,
              child: Container(
                width: MediaQuery.of(context).size.width - 40,
                //height: MediaQuery.of(context).size.height / 10,
                decoration: const BoxDecoration(
                  shape: BoxShape.rectangle,
                  borderRadius: BorderRadius.all(Radius.circular(10)),
                  color: Colors.white,
                ),
                padding: const EdgeInsets.all(16),
                child: Row(
                  mainAxisAlignment: MainAxisAlignment.start,
                  children: <Widget>[
                    Icon(
                      icon,
                      size: 30,
                      color: iconColor,
                    ),
                    const SizedBox(
                      width: 5,
                    ),
                    Flexible(
                      child: Text(
                        message,
                        style: const TextStyle(
                          decoration: TextDecoration.none,
                          color: Colors.black,
                        ),
                      ),
                    ),
                  ],
                ),
              ),
            ),
          ),
        ),
      );
    },
  );
}