apiLoginMediaSosial method

Future<void>? apiLoginMediaSosial(
  1. BuildContext context,
  2. Parameter parameter,
  3. RegisterWith register,
  4. String id,
  5. String email,
  6. String name, {
  7. Widget? page,
})

Implementation

Future<void>? apiLoginMediaSosial(BuildContext context, Parameter parameter,
    RegisterWith register, String id, String email, String name,
    {Widget? page}) {
  if (Config.realDevice!) {
    if (name != '' || name != null) {
      parameter.set("fnama", name);
    }
    Preferences.getKodeReferral().then((valuereferalkode) {
      Preferences.getTypeDeepLinkpermant().then((valuereferal2) {
        Helper().getId2().then((value) {
          if (value != '') {
            parameter.set("device_id", value);
          }
        });
        if (valuereferalkode != null){
          parameter.set("kode_referral", valuereferalkode);
        }
        if (valuereferal2 != null){
          parameter.set("referral_type", valuereferal2);
        }

        parameter.set("game_id", Config.idGame);
        parameter.set("is_emulator", Config.emulator! ? "1" : "0");
        Helper().checksodium().then((sodim) async{
          ParameterRegisterNew par = await Helper().encryparamater(sodim, parameter.getJson(),"sosmed");
          Parameter paranew = Parameter();

          paranew.set("bla1", par.postData);
          paranew.set("bla2", par.bla1);
          paranew.set("bla3", par.bla2);

          // print("bla1 = ${par.postData}");
          // print("bla2 = ${par.bla1}");
          // print("bla3 = ${par.bla2}");



          ApiSellon api = ApiSellon(context);
          api.setErrorListener((error) {
            if (error.errCode == 1728) {
              Helper().modalSellOnKebalik(context, message: error.errMessage,
                  onOke: () {
                    // SellonRouter.pop(context);
                    SellonRouter.pop(context);
                  }, alone: true);
            }
            // else if (error.errCode == 1712){
            //   print("id ${id} email ${email}");
            //   SellonRouter.popAndPush(
            //       context,
            //       RegisterScreen(
            //         registerWith: register,
            //         id: id,
            //         email: email,
            //         name: name,
            //         // lat: position.latitude.toString(),
            //         // long: position.longitude.toString(),
            //         // googlemaps: valuegooglemaps,
            //       ));
            // }
            else if (error.errCode == 1722) {
              if (Config.AppVersion ==
                  VersionApps.indonesia) {
                if (register == RegisterWith.googleSign) {
                  SellonRouter.pop(context);
                  determinePosition().then((position) {
                    if (position != null) {
                      parameter.set("address_longitude", position.longitude);
                      parameter.set("address_latitude", position.latitude);
                      SellonRouter.push(context, SplashLogin()).then((value) {
                        if (value != null){
                          if (value is Position){
                            SellonRouter.push(context, RegisterScreen(
                              email: email,
                              name: name,
                              registerWith: register,
                              id: id,
                              lat: position.latitude.toString(),
                              long: position.longitude.toString(),
                            ));
                          }
                        }
                      });
                      // Helper()
                      //     .checkRegsterLocation(context)!
                      //     .then((valuegooglemaps) {
                      //   if (valuegooglemaps != null) {
                      //     if (valuegooglemaps.name != "back") {
                      //       if (valuegooglemaps.name != "backSplashLogin") {
                      //         SellonRouter.modalLoading(context);
                      //         Future.delayed(Duration(seconds: 1))
                      //             .then((value) {
                      //           SellonRouter.pop(context);
                      //           SellonRouter.push(
                      //               context,
                      //               RegisterScreen(
                      //                 registerWith: register,
                      //                 id: id,
                      //                 email: email,
                      //                 name: name,
                      //                 lat: valuegooglemaps.geometry != null
                      //                     ? valuegooglemaps
                      //                     .geometry.location.lat
                      //                     .toString()
                      //                     : position.latitude.toString(),
                      //                 long: valuegooglemaps.geometry != null
                      //                     ? valuegooglemaps
                      //                     .geometry.location.lng
                      //                     .toString()
                      //                     : position.longitude.toString(),
                      //                 googlemaps: valuegooglemaps,
                      //               ));
                      //         });
                      //       }
                      //     }
                      //   } else {
                      //     SellonRouter.push(
                      //         context,
                      //         RegisterScreen(
                      //           registerWith: register,
                      //           id: id,
                      //           email: email,
                      //           name: name,
                      //           lat: position.latitude.toString(),
                      //           long: position.longitude.toString(),
                      //           // googlemaps: valuegooglemaps,
                      //         ));
                      //   }
                      // });
                    } else {
                      Helper().forceOpenLocation(context);
                    }
                  });
                } else {
                  // apiLoginMediaSosial(context, parameter, register, id, email, name)
                  SellonRouter.pop(context);
                  SellonRouter.modalLoading(context);
                  determinePosition().then((position) {
                    if (position != null) {
                      // Helper().checkRegsterLocation(context)!.then((value) {
                      //   String? provinsi,
                      //       kota,
                      //       kecamatan,
                      //       kelurahan,
                      //       posCode = '';
                      //   if (value != null) {
                      //     if (value is GoogleMapsDetailModel) {
                      //       if (value.addressComponents != null) {
                      //         value.addressComponents!.forEach((element) {
                      //           if (element.types?[0] ==
                      //               "administrative_area_level_1") {
                      //             provinsi = Helper().removeString(
                      //                 kataLama: "Daerah Khusus Ibukota ",
                      //                 kataBaru: "DKI ",
                      //                 dariKata: element.longName!);
                      //           }
                      //           if (element.types?[0] ==
                      //               "administrative_area_level_2") {
                      //             kota = Helper().removeString(
                      //                 kataLama: "Kota ",
                      //                 kataBaru: "",
                      //                 dariKata: Helper().removeString(
                      //                     kataLama: "Kabupaten ",
                      //                     kataBaru: "",
                      //                     dariKata: Helper().removeString(
                      //                         kataLama: "Administrasi ",
                      //                         kataBaru: "",
                      //                         dariKata: element.longName!)));
                      //           }
                      //           if (element.types?[0] ==
                      //               "administrative_area_level_3") {
                      //             kecamatan = Helper().removeString(
                      //                 kataLama: "Kecamatan ",
                      //                 kataBaru: "",
                      //                 dariKata: element.longName!);
                      //           }
                      //           if (element.types?[0] ==
                      //               "administrative_area_level_4") {
                      //             kelurahan = element.longName!;
                      //           }
                      //           if (element.types?[0] == "postal_code") {
                      //             posCode = element.longName!;
                      //           }
                      //         });
                      //       }
                      //
                      //       parameter.set("address_kodepos", posCode!);
                      //       parameter.set("address_kelurahan", kelurahan!);
                      //       parameter.set("address_kecamatan", kecamatan!);
                      //       parameter.set("address_kabkota", kota!);
                      //       parameter.set("address_provinsi", provinsi!);
                      //       if (value.geometry != null) {
                      //         parameter.set("address_longitude",
                      //             value.geometry!.location!.lng.toString());
                      //         parameter.set("address_latitude",
                      //             value.geometry!.location!.lat.toString());
                      //       } else {
                      //         parameter.set("address_longitude",
                      //             position.longitude.toString());
                      //         parameter.set("address_latitude",
                      //             position.latitude.toString());
                      //       }
                      //
                      //       parameter.set("is_register", "1");
                      //       print("facebook ${parameter.data.toString()}");
                      //       // SellonRouter.modalLoading(context);
                      //       apiLoginMediaSosial(
                      //           context, parameter, register, id, email, name,
                      //           page: page);
                      //     }
                      //   } else {
                      //     SellonRouter.pop(context);
                      //   }
                      // });
                    } else {
                      Helper().forceOpenLocation(context);
                    }
                  });
                }
              } else {
                SellonRouter.popAndPush(
                    context,
                    RegisterScreen(
                      registerWith: register,
                      id: id,
                      email: email,
                      name: name,
                      // lat: position.latitude.toString(),
                      // long: position.longitude.toString(),
                      // googlemaps: valuegooglemaps,
                    ));
              }
            } else {
              SellonRouter.pop(context);
              // Ui(context).errorAlert(title: 'Oops', message: error.errMessage!);
            }
          });
          api.execute(
              Config.AppVersion ==
                  VersionApps.indonesia
                  ? MethodsSellon.pelangganLoginSosmed3
                  : MethodsSellon.pelangganLoginSosmed,
              SellonMethod.post,
              paranew, (response) {
            if (response.data()['status'].toString() == "200") {
              // print("responseaaaa  ${response.data()['data']['is_register']}");
              // if (response.data()!['data']['is_register'] != null) {
              //   if (response.data()!['data']['is_register'] == "1") {
              //     if (register == RegisterWith.googleSign) {
              //       Helper().pushSetAnalytic("SignupGoogle", "SignUp", "Click");
              //     }
              //
              //     if (register == RegisterWith.appleSign) {
              //       Helper().pushSetAnalytic("SignupApple", "SignUp", "Click");
              //     }
              //
              //     if (register == RegisterWith.facebookSign) {
              //       Helper()
              //           .pushSetAnalytic("SignupFacebook", "SignUp", "Click");
              //     }
              //   }
              // }
              Map data = response.data()['data']['pelanggan'];

              String apises = response.data()['data']['apisess'];

              var it = utf8.encode(apises); // data being hashed
              var sha256capises = sha256.convert(it);

              // print("apise $")

              Preferences.setApises(sha256capises.toString());

              Preferences.setProfile(jsonEncode(data));
              // Preferences.setNeighborhood(Config.neighborhood!);
              Preferences.setid(data["id"]);
              Preferences.setidMed(id);
              Preferences.setemail(data['email']);
              Preferences.setPassword("");
              SellonRouter.pop(context);
              SellonRouter.pop(context,datapop: "Success");

              // if (Config.AppVersion ==
              //     VersionApps.indonesia) {
              //   if (data["language_id"] != null) {
              //     if (data["language_id"] == "1") {
              //       changeLanguage(context, 'en');
              //       Preferences.setLanguageSetting("1");
              //     } else if (data["language_id"] == "2") {
              //       changeLanguage(context, 'id');
              //       Preferences.setLanguageSetting("2");
              //     }
              //   }
              // }

              // if (register == RegisterWith.googleSign) {
              //   Preferences.setSignWith("google");
              // }
              //
              // if (register == RegisterWith.appleSign) {
              //   Preferences.setSignWith("apple");
              // }
              //
              // if (register == RegisterWith.facebookSign) {
              //   Preferences.setSignWith("fb");
              // }

              // Future.delayed(Duration(seconds: 1)).then((value) {
              //   if (Config.AppVersion ==
              //       VersionApps.singapura) {
              //     if (response
              //         .data()!['data']['pelanggan']['telp_is_verif']
              //         .toString() ==
              //         "0") {
              //       SellonRouter.push(
              //           context,
              //           VerificationPhoneScreen(
              //             email: data['email'],
              //             phone: data['telp'],
              //             id: id,
              //             registerWith: register,
              //           ));
              //     } else {
              //       SellonRouter.makeFirst(
              //           context,
              //           HomeScreen(
              //             page: page,
              //           ));
              //     }
              //   } else {
              //     SellonRouter.makeFirst(
              //         context,
              //         HomeScreen(
              //           page: page,
              //         ));
              //
              //     // if (page != null){
              //     //   SellonRouter.replace(context, page);
              //     // }else{
              //     // }
              //   }
              // });
            }
            return;
          }, isShowMessage: false);

        });

      });
    });
    // }
  }
}