messageWithOneActionDialog static method

dynamic messageWithOneActionDialog(
  1. BuildContext context,
  2. String title,
  3. String content,
  4. String ok, {
  5. bool isDismissible = true,
  6. required dynamic onProceed(),
  7. bool isError = true,
})

Implementation

static messageWithOneActionDialog(
    BuildContext context, String title, String content, String ok,
    {bool isDismissible = true,
    required Function() onProceed,
    bool isError = true}) {
  final Localization localization = Localization.getInstance();
  showDialog(
    barrierDismissible: isDismissible,
    context: context,
    builder: (_) {
      return PopScope(
          canPop: isDismissible,
          child: Dialog(
            insetPadding: EdgeInsets.symmetric(
                horizontal: SizeConstant.getHeightWithScreen(10),
                vertical: SizeConstant.getHeightWithScreen(24)),
            child: Container(
              decoration: BoxDecoration(
                color: ColorConstant.white,
                borderRadius: BorderRadius.circular(
                    SizeConstant.getHeightWithScreen(16)),
              ),
              padding: EdgeInsets.symmetric(
                  vertical: SizeConstant.getHeightWithScreen(30),
                  horizontal: SizeConstant.getHeightWithScreen(20)),
              child: Column(
                mainAxisSize: MainAxisSize.min,
                crossAxisAlignment: CrossAxisAlignment.center,
                mainAxisAlignment: MainAxisAlignment.spaceBetween,
                children: [
                  SvgPicture.asset(
                    isError
                        ? "assets/images/error_icon.svg"
                        : "assets/images/success_icon.svg",
                    package: Constants.packageName,
                    height: SizeConstant.getHeightWithScreen(50),
                    width: SizeConstant.getHeightWithScreen(50),
                  ),
                  SizedBox(
                    height: SizeConstant.getHeightWithScreen(10),
                  ),
                  Text(
                    localization.translate(title),
                    style: TextStyle(
                        color: ColorConstant.darkGrey2,
                        fontSize: SizeConstant.largeFont,
                        fontWeight: FontWeight.w700,
                        fontFamily: "OpenSans"),
                  ),
                  content.isNotEmpty
                      ? Padding(
                          padding: EdgeInsets.only(
                              top: SizeConstant.getHeightWithScreen(6)),
                          child: Text(
                            localization.translate(content),
                            textAlign: TextAlign.center,
                            style: TextStyle(
                                color: ColorConstant.darkGrey,
                                fontSize: SizeConstant.mediumFont,
                                fontWeight: FontWeight.w700,
                                fontFamily: "OpenSans"),
                          ),
                        )
                      : const SizedBox(),
                  SizedBox(
                    height: SizeConstant.getHeightWithScreen(22),
                  ),
                  Padding(
                    padding: EdgeInsets.symmetric(
                        horizontal: SizeConstant.getHeightWithScreen(10)),
                    child: Row(
                      children: [
                        InkWell(
                          onTap: () {
                            onProceed();
                          },
                          child: Container(
                              width: (MediaQuery.of(context).size.width) -
                                  SizeConstant.getHeightWithScreen(80),
                              height: SizeConstant.getHeightWithScreen(40),
                              decoration: BoxDecoration(
                                border: Border.all(
                                  width: 1,
                                  color: ColorConstant.primaryButtonColor,
                                ),
                                borderRadius: BorderRadius.circular(
                                    SizeConstant.getHeightWithScreen(4)),
                              ),
                              child: Center(
                                child: Text(
                                  localization.translate(ok),
                                  style: TextStyle(
                                    fontSize: SizeConstant.mediumFont,
                                    fontWeight: FontWeight.w500,
                                    color: ColorConstant.primaryTextColor,
                                  ),
                                ),
                              )),
                        ),
                      ],
                    ),
                  )
                ],
              ),
            ),
          ));
    },
  );
}