blockUser method

dynamic blockUser()

Implementation

blockUser() {
  Future.delayed(const Duration(milliseconds: 100), () async {
    DialogUtils.showAlert(
        dialogStyle: AppStyleConfig.dialogStyle,
        message: "${getTranslated("youWantToBlock")} ${getName(profile)}?",
        actions: [
          TextButton(
              style: AppStyleConfig.dialogStyle.buttonStyle,
              onPressed: () {
                NavUtils.back();
              },
              child: Text(
                getTranslated("cancel").toUpperCase(),
              )),
          TextButton(
              style: AppStyleConfig.dialogStyle.buttonStyle,
              onPressed: () async {
                await AppUtils.isNetConnected().then((isConnected) {
                  if (isConnected) {
                    NavUtils.back();
                    DialogUtils.showLoading(
                        message: getTranslated("blockingUser"),
                        dialogStyle: AppStyleConfig.dialogStyle);
                    Mirrorfly.blockUser(
                        userJid: profile.jid!,
                        flyCallBack: (FlyResponse response) {
                          debugPrint("$response");
                          profile.isBlocked = true;
                          isBlocked(true);
                          setChatStatus();
                          profile_.refresh();
                          saveUnsentMessage();
                          DialogUtils.hideLoading();
                          toToast(getTranslated("hasBlocked")
                              .replaceFirst("%d", getName(profile)));
                        });
                  } else {
                    toToast(getTranslated("noInternetConnection"));
                  }
                });
              },
              child: Text(
                getTranslated("block").toUpperCase(),
              )),
        ]);
  });
}