react-native-okhi 1.2.15 → 1.2.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/android/build.gradle +2 -2
  2. package/ios/Okhi.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  3. package/ios/Okhi.xcodeproj/project.xcworkspace/xcuserdata/kiano.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  4. package/ios/Okhi.xcodeproj/xcuserdata/kiano.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  5. package/lib/commonjs/OkCollect/Helpers.js +7 -0
  6. package/lib/commonjs/OkCollect/Helpers.js.map +1 -1
  7. package/lib/commonjs/OkCollect/OkHiLocationManager.js +43 -8
  8. package/lib/commonjs/OkCollect/OkHiLocationManager.js.map +1 -1
  9. package/lib/commonjs/OkCollect/Spinner.js +5 -0
  10. package/lib/commonjs/OkCollect/Spinner.js.map +1 -1
  11. package/lib/commonjs/OkCollect/Util.js +46 -16
  12. package/lib/commonjs/OkCollect/Util.js.map +1 -1
  13. package/lib/commonjs/OkCollect/app.json +1 -1
  14. package/lib/commonjs/OkCollect/index.js +5 -0
  15. package/lib/commonjs/OkCollect/index.js.map +1 -1
  16. package/lib/commonjs/OkCore/Helpers.js +90 -16
  17. package/lib/commonjs/OkCore/Helpers.js.map +1 -1
  18. package/lib/commonjs/OkCore/OkHiAuth.js +28 -3
  19. package/lib/commonjs/OkCore/OkHiAuth.js.map +1 -1
  20. package/lib/commonjs/OkCore/OkHiException.js +91 -54
  21. package/lib/commonjs/OkCore/OkHiException.js.map +1 -1
  22. package/lib/commonjs/OkCore/OkHiMode.js +1 -0
  23. package/lib/commonjs/OkCore/OkHiMode.js.map +1 -1
  24. package/lib/commonjs/OkCore/_helpers.js +9 -2
  25. package/lib/commonjs/OkCore/_helpers.js.map +1 -1
  26. package/lib/commonjs/OkCore/index.js +24 -3
  27. package/lib/commonjs/OkCore/index.js.map +1 -1
  28. package/lib/commonjs/OkHiNativeModule/index.js +3 -0
  29. package/lib/commonjs/OkHiNativeModule/index.js.map +1 -1
  30. package/lib/commonjs/OkVerify/index.js +50 -9
  31. package/lib/commonjs/OkVerify/index.js.map +1 -1
  32. package/lib/commonjs/index.js +6 -0
  33. package/lib/commonjs/index.js.map +1 -1
  34. package/lib/module/OkCollect/Helpers.js +3 -1
  35. package/lib/module/OkCollect/Helpers.js.map +1 -1
  36. package/lib/module/OkCollect/OkHiLocationManager.js +30 -9
  37. package/lib/module/OkCollect/OkHiLocationManager.js.map +1 -1
  38. package/lib/module/OkCollect/Spinner.js +1 -1
  39. package/lib/module/OkCollect/Spinner.js.map +1 -1
  40. package/lib/module/OkCollect/Util.js +35 -15
  41. package/lib/module/OkCollect/Util.js.map +1 -1
  42. package/lib/module/OkCollect/app.json +1 -1
  43. package/lib/module/OkCollect/index.js.map +1 -1
  44. package/lib/module/OkCore/Helpers.js +56 -17
  45. package/lib/module/OkCore/Helpers.js.map +1 -1
  46. package/lib/module/OkCore/OkHiAuth.js +20 -4
  47. package/lib/module/OkCore/OkHiAuth.js.map +1 -1
  48. package/lib/module/OkCore/OkHiException.js +89 -54
  49. package/lib/module/OkCore/OkHiException.js.map +1 -1
  50. package/lib/module/OkCore/OkHiMode.js.map +1 -1
  51. package/lib/module/OkCore/_helpers.js +4 -2
  52. package/lib/module/OkCore/_helpers.js.map +1 -1
  53. package/lib/module/OkCore/index.js +12 -3
  54. package/lib/module/OkCore/index.js.map +1 -1
  55. package/lib/module/OkHiNativeModule/index.js +1 -0
  56. package/lib/module/OkHiNativeModule/index.js.map +1 -1
  57. package/lib/module/OkVerify/index.js +22 -9
  58. package/lib/module/OkVerify/index.js.map +1 -1
  59. package/lib/module/index.js.map +1 -1
  60. package/lib/typescript/OkCollect/OkHiLocationManager.d.ts +1 -2
  61. package/lib/typescript/OkCollect/Spinner.d.ts +1 -2
  62. package/lib/typescript/OkCollect/types.d.ts +1 -1
  63. package/lib/typescript/OkCore/_types.d.ts +3 -3
  64. package/lib/typescript/OkCore/types.d.ts +5 -5
  65. package/lib/typescript/OkHiNativeModule/index.d.ts +1 -1
  66. package/lib/typescript/OkVerify/types.d.ts +1 -1
  67. package/package.json +1 -1
  68. package/react-native-okhi.podspec +1 -1
  69. package/src/OkCollect/OkHiLocationManager.tsx +1 -0
  70. package/src/OkCollect/app.json +1 -1
@@ -126,8 +126,8 @@ repositories {
126
126
  dependencies {
127
127
  //noinspection GradleDynamicVersion
128
128
  implementation "com.facebook.react:react-native:+"
129
- implementation 'io.okhi.android:core:1.7.17'
130
- implementation 'io.okhi.android:okverify:1.9.44'
129
+ implementation 'io.okhi.android:core:1.7.18'
130
+ implementation 'io.okhi.android:okverify:1.9.45'
131
131
  // From node_modules
132
132
  }
133
133
 
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>IDEDidComputeMac32BitWarning</key>
6
+ <true/>
7
+ </dict>
8
+ </plist>
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>SchemeUserState</key>
6
+ <dict>
7
+ <key>Okhi.xcscheme_^#shared#^_</key>
8
+ <dict>
9
+ <key>orderHint</key>
10
+ <integer>0</integer>
11
+ </dict>
12
+ </dict>
13
+ </dict>
14
+ </plist>
@@ -4,9 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.canStartAddressCreation = void 0;
7
+
7
8
  var _reactNative = require("react-native");
9
+
8
10
  var _Helpers = require("../OkCore/Helpers");
11
+
9
12
  var _OkHiException = require("../OkCore/OkHiException");
13
+
10
14
  /**
11
15
  * Checks whether all necessary permissions and services are available in order to start the address creation process.
12
16
  * @param {Object} configuration Object that determines whether or not to request these permissions and services from the user.
@@ -19,10 +23,12 @@ const canStartAddressCreation = configuration => {
19
23
  const locationServicesStatus = await (0, _Helpers.isLocationServicesEnabled)();
20
24
  const googlePlayServices = _reactNative.Platform.OS === 'android' ? await (0, _Helpers.isGooglePlayServicesAvailable)() : true;
21
25
  const locationPerm = await (0, _Helpers.isLocationPermissionGranted)();
26
+
22
27
  if (!requestServices) {
23
28
  resolve(locationServicesStatus && googlePlayServices && locationPerm);
24
29
  return;
25
30
  }
31
+
26
32
  if (!locationServicesStatus && _reactNative.Platform.OS === 'ios') {
27
33
  reject(new _OkHiException.OkHiException({
28
34
  code: _OkHiException.OkHiException.SERVICE_UNAVAILABLE_CODE,
@@ -36,5 +42,6 @@ const canStartAddressCreation = configuration => {
36
42
  }
37
43
  });
38
44
  };
45
+
39
46
  exports.canStartAddressCreation = canStartAddressCreation;
40
47
  //# sourceMappingURL=Helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_Helpers","_OkHiException","canStartAddressCreation","configuration","Promise","resolve","reject","requestServices","locationServicesStatus","isLocationServicesEnabled","googlePlayServices","Platform","OS","isGooglePlayServicesAvailable","locationPerm","isLocationPermissionGranted","OkHiException","code","SERVICE_UNAVAILABLE_CODE","message","locationServicesRequestStatus","requestEnableLocationServices","gPlayServices","requestEnableGooglePlayServices","locationPermStatus","requestLocationPermission","exports"],"sources":["Helpers.ts"],"sourcesContent":["import { Platform } from 'react-native';\nimport {\n isLocationServicesEnabled,\n isLocationPermissionGranted,\n isGooglePlayServicesAvailable,\n requestEnableLocationServices,\n requestEnableGooglePlayServices,\n requestLocationPermission,\n} from '../OkCore/Helpers';\nimport { OkHiException } from '../OkCore/OkHiException';\n\n/**\n * Checks whether all necessary permissions and services are available in order to start the address creation process.\n * @param {Object} configuration Object that determines whether or not to request these permissions and services from the user.\n * @param {boolean} configuration.requestServices Flag that determines whether to request the services from the user.\n * @returns {Promise<boolean>} A promise that resolves to a boolean value indicating whether or not all conditions are met to start the address creation process.\n */\nexport const canStartAddressCreation = (configuration?: {\n requestServices?: boolean;\n}): Promise<boolean> => {\n return new Promise(async (resolve, reject) => {\n const requestServices = configuration && configuration.requestServices;\n const locationServicesStatus = await isLocationServicesEnabled();\n const googlePlayServices =\n Platform.OS === 'android' ? await isGooglePlayServicesAvailable() : true;\n const locationPerm = await isLocationPermissionGranted();\n if (!requestServices) {\n resolve(locationServicesStatus && googlePlayServices && locationPerm);\n return;\n }\n if (!locationServicesStatus && Platform.OS === 'ios') {\n reject(\n new OkHiException({\n code: OkHiException.SERVICE_UNAVAILABLE_CODE,\n message: 'Location services is unavailable',\n })\n );\n } else {\n const locationServicesRequestStatus =\n Platform.OS === 'ios'\n ? true\n : ((await requestEnableLocationServices()) as boolean);\n const gPlayServices =\n Platform.OS === 'android'\n ? await requestEnableGooglePlayServices()\n : true;\n const locationPermStatus = await requestLocationPermission();\n resolve(\n locationServicesRequestStatus && gPlayServices && locationPermStatus\n );\n }\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAQA,IAAAE,cAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,uBAAuB,GAAIC,aAEvC,IAAuB;EACtB,OAAO,IAAIC,OAAO,CAAC,OAAOC,OAAO,EAAEC,MAAM,KAAK;IAC5C,MAAMC,eAAe,GAAGJ,aAAa,IAAIA,aAAa,CAACI,eAAe;IACtE,MAAMC,sBAAsB,GAAG,MAAM,IAAAC,kCAAyB,EAAC,CAAC;IAChE,MAAMC,kBAAkB,GACtBC,qBAAQ,CAACC,EAAE,KAAK,SAAS,GAAG,MAAM,IAAAC,sCAA6B,EAAC,CAAC,GAAG,IAAI;IAC1E,MAAMC,YAAY,GAAG,MAAM,IAAAC,oCAA2B,EAAC,CAAC;IACxD,IAAI,CAACR,eAAe,EAAE;MACpBF,OAAO,CAACG,sBAAsB,IAAIE,kBAAkB,IAAII,YAAY,CAAC;MACrE;IACF;IACA,IAAI,CAACN,sBAAsB,IAAIG,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACpDN,MAAM,CACJ,IAAIU,4BAAa,CAAC;QAChBC,IAAI,EAAED,4BAAa,CAACE,wBAAwB;QAC5CC,OAAO,EAAE;MACX,CAAC,CACH,CAAC;IACH,CAAC,MAAM;MACL,MAAMC,6BAA6B,GACjCT,qBAAQ,CAACC,EAAE,KAAK,KAAK,GACjB,IAAI,GACF,MAAM,IAAAS,sCAA6B,EAAC,CAAc;MAC1D,MAAMC,aAAa,GACjBX,qBAAQ,CAACC,EAAE,KAAK,SAAS,GACrB,MAAM,IAAAW,wCAA+B,EAAC,CAAC,GACvC,IAAI;MACV,MAAMC,kBAAkB,GAAG,MAAM,IAAAC,kCAAyB,EAAC,CAAC;MAC5DpB,OAAO,CACLe,6BAA6B,IAAIE,aAAa,IAAIE,kBACpD,CAAC;IACH;EACF,CAAC,CAAC;AACJ,CAAC;AAACE,OAAA,CAAAxB,uBAAA,GAAAA,uBAAA"}
1
+ {"version":3,"names":["canStartAddressCreation","configuration","Promise","resolve","reject","requestServices","locationServicesStatus","isLocationServicesEnabled","googlePlayServices","Platform","OS","isGooglePlayServicesAvailable","locationPerm","isLocationPermissionGranted","OkHiException","code","SERVICE_UNAVAILABLE_CODE","message","locationServicesRequestStatus","requestEnableLocationServices","gPlayServices","requestEnableGooglePlayServices","locationPermStatus","requestLocationPermission"],"sources":["Helpers.ts"],"sourcesContent":["import { Platform } from 'react-native';\nimport {\n isLocationServicesEnabled,\n isLocationPermissionGranted,\n isGooglePlayServicesAvailable,\n requestEnableLocationServices,\n requestEnableGooglePlayServices,\n requestLocationPermission,\n} from '../OkCore/Helpers';\nimport { OkHiException } from '../OkCore/OkHiException';\n\n/**\n * Checks whether all necessary permissions and services are available in order to start the address creation process.\n * @param {Object} configuration Object that determines whether or not to request these permissions and services from the user.\n * @param {boolean} configuration.requestServices Flag that determines whether to request the services from the user.\n * @returns {Promise<boolean>} A promise that resolves to a boolean value indicating whether or not all conditions are met to start the address creation process.\n */\nexport const canStartAddressCreation = (configuration?: {\n requestServices?: boolean;\n}): Promise<boolean> => {\n return new Promise(async (resolve, reject) => {\n const requestServices = configuration && configuration.requestServices;\n const locationServicesStatus = await isLocationServicesEnabled();\n const googlePlayServices =\n Platform.OS === 'android' ? await isGooglePlayServicesAvailable() : true;\n const locationPerm = await isLocationPermissionGranted();\n if (!requestServices) {\n resolve(locationServicesStatus && googlePlayServices && locationPerm);\n return;\n }\n if (!locationServicesStatus && Platform.OS === 'ios') {\n reject(\n new OkHiException({\n code: OkHiException.SERVICE_UNAVAILABLE_CODE,\n message: 'Location services is unavailable',\n })\n );\n } else {\n const locationServicesRequestStatus =\n Platform.OS === 'ios'\n ? true\n : ((await requestEnableLocationServices()) as boolean);\n const gPlayServices =\n Platform.OS === 'android'\n ? await requestEnableGooglePlayServices()\n : true;\n const locationPermStatus = await requestLocationPermission();\n resolve(\n locationServicesRequestStatus && gPlayServices && locationPermStatus\n );\n }\n });\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;AAQA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,uBAAuB,GAAIC,aAAD,IAEf;EACtB,OAAO,IAAIC,OAAJ,CAAY,OAAOC,OAAP,EAAgBC,MAAhB,KAA2B;IAC5C,MAAMC,eAAe,GAAGJ,aAAa,IAAIA,aAAa,CAACI,eAAvD;IACA,MAAMC,sBAAsB,GAAG,MAAM,IAAAC,kCAAA,GAArC;IACA,MAAMC,kBAAkB,GACtBC,qBAAA,CAASC,EAAT,KAAgB,SAAhB,GAA4B,MAAM,IAAAC,sCAAA,GAAlC,GAAoE,IADtE;IAEA,MAAMC,YAAY,GAAG,MAAM,IAAAC,oCAAA,GAA3B;;IACA,IAAI,CAACR,eAAL,EAAsB;MACpBF,OAAO,CAACG,sBAAsB,IAAIE,kBAA1B,IAAgDI,YAAjD,CAAP;MACA;IACD;;IACD,IAAI,CAACN,sBAAD,IAA2BG,qBAAA,CAASC,EAAT,KAAgB,KAA/C,EAAsD;MACpDN,MAAM,CACJ,IAAIU,4BAAJ,CAAkB;QAChBC,IAAI,EAAED,4BAAA,CAAcE,wBADJ;QAEhBC,OAAO,EAAE;MAFO,CAAlB,CADI,CAAN;IAMD,CAPD,MAOO;MACL,MAAMC,6BAA6B,GACjCT,qBAAA,CAASC,EAAT,KAAgB,KAAhB,GACI,IADJ,GAEM,MAAM,IAAAS,sCAAA,GAHd;MAIA,MAAMC,aAAa,GACjBX,qBAAA,CAASC,EAAT,KAAgB,SAAhB,GACI,MAAM,IAAAW,wCAAA,GADV,GAEI,IAHN;MAIA,MAAMC,kBAAkB,GAAG,MAAM,IAAAC,kCAAA,GAAjC;MACApB,OAAO,CACLe,6BAA6B,IAAIE,aAAjC,IAAkDE,kBAD7C,CAAP;IAGD;EACF,CA/BM,CAAP;AAgCD,CAnCM"}
@@ -4,18 +4,31 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.OkHiLocationManager = void 0;
7
+
7
8
  var _react = _interopRequireWildcard(require("react"));
9
+
8
10
  var _reactNative = require("react-native");
11
+
9
12
  var _reactNativeWebview = require("react-native-webview");
13
+
10
14
  var _Spinner = require("./Spinner");
15
+
11
16
  var _Util = require("./Util");
17
+
12
18
  var _OkHiException = require("../OkCore/OkHiException");
19
+
13
20
  var _OkHiAuth = require("../OkCore/OkHiAuth");
21
+
14
22
  var _OkVerify = require("../OkVerify");
23
+
15
24
  var _OkCore = require("../OkCore");
25
+
16
26
  var _OkHiNativeModule = require("../OkHiNativeModule");
27
+
17
28
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
+
18
30
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
+
19
32
  /**
20
33
  * The OkHiLocationManager React Component is used to display an in app modal, enabling the user to quickly create an accurate OkHi address.
21
34
  */
@@ -26,8 +39,7 @@ const OkHiLocationManager = props => {
26
39
  const defaultStyle = {
27
40
  flex: 1
28
41
  };
29
- const style = props.style ? {
30
- ...props.style,
42
+ const style = props.style ? { ...props.style,
31
43
  ...defaultStyle
32
44
  } : defaultStyle;
33
45
  const {
@@ -67,6 +79,7 @@ const OkHiLocationManager = props => {
67
79
  // TODO: handle faliure
68
80
  (0, _Util.generateStartDataPayload)(props, token, applicationConfiguration).then(startPayload => {
69
81
  setStartPaylaod(startPayload);
82
+
70
83
  if (_reactNative.Platform.OS === 'android' && _reactNative.Platform.Version > 25) {
71
84
  _OkHiNativeModule.OkHiNativeModule.setItem('okcollect-launch-payload', JSON.stringify({
72
85
  message: startMessage,
@@ -97,12 +110,14 @@ const OkHiLocationManager = props => {
97
110
  setReady(false);
98
111
  }
99
112
  }, [launch, config === null || config === void 0 ? void 0 : config.permissionsOnboarding]);
113
+
100
114
  const runWebViewCallback = value => {
101
115
  if (webViewRef.current) {
102
116
  const jsString = `(function (){ if (typeof runOkHiLocationManagerCallback === "function") { runOkHiLocationManagerCallback("${value}") } })()`;
103
117
  webViewRef.current.injectJavaScript(jsString);
104
118
  }
105
119
  };
120
+
106
121
  const handleAndroidRequestLocationPermission = async level => {
107
122
  if (level === 'whenInUse') {
108
123
  const whenInUseResult = await (0, _OkCore.requestLocationPermission)();
@@ -113,13 +128,16 @@ const OkHiLocationManager = props => {
113
128
  runWebViewCallback(result ? 'always' : 'blocked');
114
129
  }
115
130
  };
131
+
116
132
  const handleIOSRequestLocationPermission = async level => {
117
133
  const unknownError = new _OkHiException.OkHiException({
118
134
  code: _OkHiException.OkHiException.UNKNOWN_ERROR_CODE,
119
135
  message: 'Something went wrong while requesting permissions. Please try again later.'
120
136
  });
137
+
121
138
  try {
122
139
  const isServiceAvailable = await (0, _OkCore.isLocationServicesEnabled)();
140
+
123
141
  if (!isServiceAvailable) {
124
142
  (0, _OkCore.openAppSettings)();
125
143
  } else if (level === 'whenInUse') {
@@ -127,6 +145,7 @@ const OkHiLocationManager = props => {
127
145
  runWebViewCallback(result ? level : 'denied');
128
146
  } else if (level === 'always') {
129
147
  const granted = await (0, _OkCore.isBackgroundLocationPermissionGranted)();
148
+
130
149
  if (granted) {
131
150
  runWebViewCallback(level);
132
151
  } else {
@@ -137,19 +156,23 @@ const OkHiLocationManager = props => {
137
156
  onError(unknownError);
138
157
  }
139
158
  };
159
+
140
160
  const handleRequestLocationPermission = async _ref => {
141
161
  let {
142
162
  level
143
163
  } = _ref;
164
+
144
165
  if (_reactNative.Platform.OS === 'android') {
145
166
  handleAndroidRequestLocationPermission(level);
146
167
  } else if (_reactNative.Platform.OS === 'ios') {
147
168
  handleIOSRequestLocationPermission(level);
148
169
  }
149
170
  };
171
+
150
172
  const handleOpenAppSettings = async () => {
151
173
  try {
152
174
  const granted = await (0, _OkCore.isBackgroundLocationPermissionGranted)();
175
+
153
176
  if (granted) {
154
177
  runWebViewCallback('always');
155
178
  } else {
@@ -160,14 +183,17 @@ const OkHiLocationManager = props => {
160
183
  onError(err);
161
184
  }
162
185
  };
186
+
163
187
  const handleOnMessage = _ref2 => {
164
188
  let {
165
189
  nativeEvent: {
166
190
  data
167
191
  }
168
192
  } = _ref2;
193
+
169
194
  try {
170
195
  const response = JSON.parse(data);
196
+
171
197
  if (response.message === 'fatal_exit') {
172
198
  //TODO: figure out bad phone number code
173
199
  onError(new _OkHiException.OkHiException({
@@ -179,18 +205,17 @@ const OkHiLocationManager = props => {
179
205
  } else if (response.message === 'request_enable_protected_apps') {
180
206
  (0, _OkCore.openProtectedAppsSettings)();
181
207
  } else if (response.message === 'location_created' || response.message === 'location_selected' || response.message === 'location_updated') {
208
+ setReady(false); // auto close
209
+
182
210
  onSuccess({
183
- user: {
184
- ...response.payload.user,
211
+ user: { ...response.payload.user,
185
212
  fcmPushNotificationToken: user.fcmPushNotificationToken
186
213
  },
187
214
  location: (0, _Util.parseOkHiLocation)(response.payload.location),
188
215
  startVerification: function (config) {
189
- const createdUser = {
190
- ...this.user
216
+ const createdUser = { ...this.user
191
217
  };
192
- const location = {
193
- ...this.location
218
+ const location = { ...this.location
194
219
  };
195
220
  return new Promise((resolve, reject) => {
196
221
  if (!location.id) {
@@ -211,32 +236,40 @@ const OkHiLocationManager = props => {
211
236
  }
212
237
  } catch (error) {
213
238
  let errorMessage = 'Something went wrong';
239
+
214
240
  if (error instanceof Error) {
215
241
  errorMessage = error.message;
216
242
  }
243
+
217
244
  onError(new _OkHiException.OkHiException({
218
245
  code: _OkHiException.OkHiException.UNKNOWN_ERROR_CODE,
219
246
  message: errorMessage
220
247
  }));
221
248
  }
222
249
  };
250
+
223
251
  const handleOnError = () => {
224
252
  onError(new _OkHiException.OkHiException({
225
253
  code: _OkHiException.OkHiException.NETWORK_ERROR_CODE,
226
254
  message: _OkHiException.OkHiException.NETWORK_ERROR_MESSAGE
227
255
  }));
228
256
  };
257
+
229
258
  const handleModalRequestClose = () => {
230
259
  var _webViewRef$current;
260
+
231
261
  (_webViewRef$current = webViewRef.current) === null || _webViewRef$current === void 0 ? void 0 : _webViewRef$current.goBack();
232
262
  };
263
+
233
264
  const renderContent = () => {
234
265
  if (token === null || applicationConfiguration == null) {
235
266
  return loader || /*#__PURE__*/_react.default.createElement(_Spinner.Spinner, null);
236
267
  }
268
+
237
269
  if (startPayload === null) {
238
270
  return loader || /*#__PURE__*/_react.default.createElement(_Spinner.Spinner, null);
239
271
  }
272
+
240
273
  const {
241
274
  jsAfterLoad,
242
275
  jsBeforeLoad
@@ -260,6 +293,7 @@ const OkHiLocationManager = props => {
260
293
  ref: webViewRef
261
294
  }));
262
295
  };
296
+
263
297
  return /*#__PURE__*/_react.default.createElement(_reactNative.Modal, {
264
298
  animationType: "slide",
265
299
  transparent: false,
@@ -267,6 +301,7 @@ const OkHiLocationManager = props => {
267
301
  onRequestClose: handleModalRequestClose
268
302
  }, ready ? renderContent() : null);
269
303
  };
304
+
270
305
  exports.OkHiLocationManager = OkHiLocationManager;
271
306
  var _default = OkHiLocationManager;
272
307
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeWebview","_Spinner","_Util","_OkHiException","_OkHiAuth","_OkVerify","_OkCore","_OkHiNativeModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","OkHiLocationManager","props","token","setToken","useState","applicationConfiguration","setApplicationConfiguration","startPayload","setStartPaylaod","defaultStyle","flex","style","user","onSuccess","onCloseRequest","onError","loader","launch","config","webViewRef","useRef","startMessage","mode","ready","setReady","useEffect","phone","getApplicationConfiguration","then","OkHiException","code","UNAUTHORIZED_CODE","message","UNAUTHORIZED_MESSAGE","auth","OkHiAuth","anonymousSignInWithPhoneNumber","catch","error","generateStartDataPayload","Platform","OS","Version","OkHiNativeModule","setItem","JSON","stringify","payload","url","getFrameUrl","console","permissionsOnboarding","isBackgroundLocationPermissionGranted","result","PERMISSION_DENIED_CODE","runWebViewCallback","value","current","jsString","injectJavaScript","handleAndroidRequestLocationPermission","level","whenInUseResult","requestLocationPermission","alwaysResult","requestBackgroundLocationPermission","handleIOSRequestLocationPermission","unknownError","UNKNOWN_ERROR_CODE","isServiceAvailable","isLocationServicesEnabled","openAppSettings","granted","handleRequestLocationPermission","_ref","handleOpenAppSettings","err","handleOnMessage","_ref2","nativeEvent","data","response","parse","openProtectedAppsSettings","fcmPushNotificationToken","location","parseOkHiLocation","startVerification","createdUser","Promise","resolve","reject","id","BAD_REQUEST_CODE","sv","lat","lon","errorMessage","Error","handleOnError","NETWORK_ERROR_CODE","NETWORK_ERROR_MESSAGE","handleModalRequestClose","_webViewRef$current","goBack","renderContent","createElement","Spinner","jsAfterLoad","jsBeforeLoad","generateJavaScriptStartScript","SafeAreaView","WebView","source","uri","injectedJavaScriptBeforeContentLoaded","undefined","injectedJavaScript","onMessage","onHttpError","geolocationEnabled","allowsBackForwardNavigationGestures","ref","Modal","animationType","transparent","visible","onRequestClose","exports","_default"],"sources":["OkHiLocationManager.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { Modal, SafeAreaView, Platform } from 'react-native';\nimport { WebView, WebViewMessageEvent } from 'react-native-webview';\nimport { Spinner } from './Spinner';\nimport type {\n OkHiLocationManagerResponse,\n OkHiLocationManagerProps,\n OkHiLocationManagerStartDataPayload,\n} from './types';\nimport {\n getFrameUrl,\n generateJavaScriptStartScript,\n generateStartDataPayload,\n parseOkHiLocation,\n} from './Util';\nimport { OkHiException } from '../OkCore/OkHiException';\nimport { OkHiAuth } from '../OkCore/OkHiAuth';\nimport type { AuthApplicationConfig } from '../OkCore/_types';\nimport { start as sv } from '../OkVerify';\nimport type { OkVerifyStartConfiguration } from '../OkVerify/types';\nimport {\n getApplicationConfiguration,\n isBackgroundLocationPermissionGranted,\n isLocationServicesEnabled,\n openAppSettings,\n openProtectedAppsSettings,\n requestBackgroundLocationPermission,\n requestLocationPermission,\n} from '../OkCore';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\n\n/**\n * The OkHiLocationManager React Component is used to display an in app modal, enabling the user to quickly create an accurate OkHi address.\n */\nexport const OkHiLocationManager = (props: OkHiLocationManagerProps) => {\n const [token, setToken] = useState<string | null>(null);\n const [applicationConfiguration, setApplicationConfiguration] =\n useState<AuthApplicationConfig | null>(null);\n const [startPayload, setStartPaylaod] =\n useState<null | OkHiLocationManagerStartDataPayload>(null);\n const defaultStyle = { flex: 1 };\n const style = props.style\n ? { ...props.style, ...defaultStyle }\n : defaultStyle;\n\n const { user, onSuccess, onCloseRequest, onError, loader, launch, config } =\n props;\n const webViewRef = useRef<WebView | null>(null);\n const startMessage =\n props.mode === 'create' ? 'start_app' : 'select_location';\n const [ready, setReady] = useState(false);\n\n useEffect(() => {\n if (applicationConfiguration == null && token == null && user.phone) {\n getApplicationConfiguration()\n .then((config) => {\n if (!config && launch) {\n onError(\n new OkHiException({\n code: OkHiException.UNAUTHORIZED_CODE,\n message: OkHiException.UNAUTHORIZED_MESSAGE,\n })\n );\n } else if (config) {\n setApplicationConfiguration(config);\n const auth = new OkHiAuth();\n auth\n .anonymousSignInWithPhoneNumber(user.phone, ['verify'], config)\n .then(setToken)\n .catch(onError);\n }\n })\n .catch((error) => {\n if (launch) {\n onError(error);\n }\n });\n }\n }, [onError, user.phone, launch, applicationConfiguration, token]);\n\n useEffect(() => {\n if (token !== null && applicationConfiguration !== null) {\n // TODO: handle faliure\n generateStartDataPayload(props, token, applicationConfiguration)\n .then((startPayload) => {\n setStartPaylaod(startPayload);\n if (Platform.OS === 'android' && Platform.Version > 25) {\n OkHiNativeModule.setItem(\n 'okcollect-launch-payload',\n JSON.stringify({\n message: startMessage,\n payload: startPayload,\n url: getFrameUrl(applicationConfiguration),\n })\n ).catch(console.error);\n }\n })\n .catch(console.error);\n }\n }, [applicationConfiguration, props, token]);\n\n useEffect(() => {\n if (launch) {\n if (\n typeof config?.permissionsOnboarding === 'boolean' &&\n !config.permissionsOnboarding\n ) {\n isBackgroundLocationPermissionGranted().then((result) => {\n if (!result) {\n onError(\n new OkHiException({\n code: OkHiException.PERMISSION_DENIED_CODE,\n message:\n 'Always location permission must be granted to launch OkCollect',\n })\n );\n } else {\n setReady(true);\n }\n });\n } else {\n setReady(true);\n }\n } else {\n setReady(false);\n }\n }, [launch, config?.permissionsOnboarding]);\n\n const runWebViewCallback = (value: string) => {\n if (webViewRef.current) {\n const jsString = `(function (){ if (typeof runOkHiLocationManagerCallback === \"function\") { runOkHiLocationManagerCallback(\"${value}\") } })()`;\n webViewRef.current.injectJavaScript(jsString);\n }\n };\n\n const handleAndroidRequestLocationPermission = async (\n level: 'whenInUse' | 'always'\n ) => {\n if (level === 'whenInUse') {\n const whenInUseResult = await requestLocationPermission();\n const alwaysResult = await isBackgroundLocationPermissionGranted();\n runWebViewCallback(\n alwaysResult ? 'always' : whenInUseResult ? 'whenInUse' : 'blocked'\n );\n } else if (level === 'always') {\n const result = await requestBackgroundLocationPermission();\n runWebViewCallback(result ? 'always' : 'blocked');\n }\n };\n\n const handleIOSRequestLocationPermission = async (\n level: 'whenInUse' | 'always'\n ) => {\n const unknownError = new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message:\n 'Something went wrong while requesting permissions. Please try again later.',\n });\n try {\n const isServiceAvailable = await isLocationServicesEnabled();\n if (!isServiceAvailable) {\n openAppSettings();\n } else if (level === 'whenInUse') {\n const result = await requestLocationPermission();\n runWebViewCallback(result ? level : 'denied');\n } else if (level === 'always') {\n const granted = await isBackgroundLocationPermissionGranted();\n if (granted) {\n runWebViewCallback(level);\n } else {\n openAppSettings();\n }\n }\n } catch (error) {\n onError(unknownError);\n }\n };\n\n const handleRequestLocationPermission = async ({\n level,\n }: {\n level: 'whenInUse' | 'always';\n }) => {\n if (Platform.OS === 'android') {\n handleAndroidRequestLocationPermission(level);\n } else if (Platform.OS === 'ios') {\n handleIOSRequestLocationPermission(level);\n }\n };\n\n const handleOpenAppSettings = async () => {\n try {\n const granted = await isBackgroundLocationPermissionGranted();\n if (granted) {\n runWebViewCallback('always');\n } else {\n await openAppSettings();\n }\n } catch (error) {\n const err = error as OkHiException;\n onError(err);\n }\n };\n\n const handleOnMessage = ({ nativeEvent: { data } }: WebViewMessageEvent) => {\n try {\n const response: OkHiLocationManagerResponse = JSON.parse(data);\n\n if (response.message === 'fatal_exit') {\n //TODO: figure out bad phone number code\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: response.payload,\n })\n );\n } else if (response.message === 'exit_app') {\n onCloseRequest();\n } else if (response.message === 'request_enable_protected_apps') {\n openProtectedAppsSettings();\n } else if (\n response.message === 'location_created' ||\n response.message === 'location_selected' ||\n response.message === 'location_updated'\n ) {\n onSuccess({\n user: {\n ...response.payload.user,\n fcmPushNotificationToken: user.fcmPushNotificationToken,\n },\n location: parseOkHiLocation(response.payload.location),\n startVerification: function (config?: OkVerifyStartConfiguration) {\n const createdUser = { ...this.user };\n const location = { ...this.location };\n return new Promise((resolve, reject) => {\n if (!location.id) {\n reject(\n new OkHiException({\n code: OkHiException.BAD_REQUEST_CODE,\n message: 'Missing location id from response',\n })\n );\n } else {\n sv(\n createdUser.phone,\n location.id,\n location.lat,\n location.lon,\n config,\n createdUser.fcmPushNotificationToken\n )\n .then(resolve)\n .catch(reject);\n }\n });\n },\n });\n } else if (response.message === 'request_location_permission') {\n handleRequestLocationPermission(response.payload);\n } else if (response.message === 'open_app_settings') {\n handleOpenAppSettings();\n }\n } catch (error) {\n let errorMessage = 'Something went wrong';\n if (error instanceof Error) {\n errorMessage = error.message;\n }\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: errorMessage,\n })\n );\n }\n };\n\n const handleOnError = () => {\n onError(\n new OkHiException({\n code: OkHiException.NETWORK_ERROR_CODE,\n message: OkHiException.NETWORK_ERROR_MESSAGE,\n })\n );\n };\n\n const handleModalRequestClose = () => {\n webViewRef.current?.goBack();\n };\n\n const renderContent = () => {\n if (token === null || applicationConfiguration == null) {\n return loader || <Spinner />;\n }\n\n if (startPayload === null) {\n return loader || <Spinner />;\n }\n\n const { jsAfterLoad, jsBeforeLoad } = generateJavaScriptStartScript({\n message: startMessage,\n payload: startPayload,\n });\n\n return (\n <SafeAreaView style={style}>\n <WebView\n source={{ uri: getFrameUrl(applicationConfiguration) }}\n injectedJavaScriptBeforeContentLoaded={\n Platform.OS === 'ios' ? jsBeforeLoad : undefined\n }\n injectedJavaScript={Platform.OS === 'ios' ? undefined : jsAfterLoad}\n onMessage={handleOnMessage}\n onError={handleOnError}\n onHttpError={handleOnError}\n geolocationEnabled={true}\n allowsBackForwardNavigationGestures={true}\n ref={webViewRef}\n />\n </SafeAreaView>\n );\n };\n\n return (\n <Modal\n animationType=\"slide\"\n transparent={false}\n visible={ready}\n onRequestClose={handleModalRequestClose}\n >\n {ready ? renderContent() : null}\n </Modal>\n );\n};\n\nexport default OkHiLocationManager;\n"],"mappings":"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"}
1
+ {"version":3,"names":["OkHiLocationManager","props","token","setToken","useState","applicationConfiguration","setApplicationConfiguration","startPayload","setStartPaylaod","defaultStyle","flex","style","user","onSuccess","onCloseRequest","onError","loader","launch","config","webViewRef","useRef","startMessage","mode","ready","setReady","useEffect","phone","getApplicationConfiguration","then","OkHiException","code","UNAUTHORIZED_CODE","message","UNAUTHORIZED_MESSAGE","auth","OkHiAuth","anonymousSignInWithPhoneNumber","catch","error","generateStartDataPayload","Platform","OS","Version","OkHiNativeModule","setItem","JSON","stringify","payload","url","getFrameUrl","console","permissionsOnboarding","isBackgroundLocationPermissionGranted","result","PERMISSION_DENIED_CODE","runWebViewCallback","value","current","jsString","injectJavaScript","handleAndroidRequestLocationPermission","level","whenInUseResult","requestLocationPermission","alwaysResult","requestBackgroundLocationPermission","handleIOSRequestLocationPermission","unknownError","UNKNOWN_ERROR_CODE","isServiceAvailable","isLocationServicesEnabled","openAppSettings","granted","handleRequestLocationPermission","handleOpenAppSettings","err","handleOnMessage","nativeEvent","data","response","parse","openProtectedAppsSettings","fcmPushNotificationToken","location","parseOkHiLocation","startVerification","createdUser","Promise","resolve","reject","id","BAD_REQUEST_CODE","sv","lat","lon","errorMessage","Error","handleOnError","NETWORK_ERROR_CODE","NETWORK_ERROR_MESSAGE","handleModalRequestClose","goBack","renderContent","jsAfterLoad","jsBeforeLoad","generateJavaScriptStartScript","uri","undefined"],"sources":["OkHiLocationManager.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { Modal, SafeAreaView, Platform } from 'react-native';\nimport { WebView, WebViewMessageEvent } from 'react-native-webview';\nimport { Spinner } from './Spinner';\nimport type {\n OkHiLocationManagerResponse,\n OkHiLocationManagerProps,\n OkHiLocationManagerStartDataPayload,\n} from './types';\nimport {\n getFrameUrl,\n generateJavaScriptStartScript,\n generateStartDataPayload,\n parseOkHiLocation,\n} from './Util';\nimport { OkHiException } from '../OkCore/OkHiException';\nimport { OkHiAuth } from '../OkCore/OkHiAuth';\nimport type { AuthApplicationConfig } from '../OkCore/_types';\nimport { start as sv } from '../OkVerify';\nimport type { OkVerifyStartConfiguration } from '../OkVerify/types';\nimport {\n getApplicationConfiguration,\n isBackgroundLocationPermissionGranted,\n isLocationServicesEnabled,\n openAppSettings,\n openProtectedAppsSettings,\n requestBackgroundLocationPermission,\n requestLocationPermission,\n} from '../OkCore';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\n\n/**\n * The OkHiLocationManager React Component is used to display an in app modal, enabling the user to quickly create an accurate OkHi address.\n */\nexport const OkHiLocationManager = (props: OkHiLocationManagerProps) => {\n const [token, setToken] = useState<string | null>(null);\n const [applicationConfiguration, setApplicationConfiguration] =\n useState<AuthApplicationConfig | null>(null);\n const [startPayload, setStartPaylaod] =\n useState<null | OkHiLocationManagerStartDataPayload>(null);\n const defaultStyle = { flex: 1 };\n const style = props.style\n ? { ...props.style, ...defaultStyle }\n : defaultStyle;\n\n const { user, onSuccess, onCloseRequest, onError, loader, launch, config } =\n props;\n const webViewRef = useRef<WebView | null>(null);\n const startMessage =\n props.mode === 'create' ? 'start_app' : 'select_location';\n const [ready, setReady] = useState(false);\n\n useEffect(() => {\n if (applicationConfiguration == null && token == null && user.phone) {\n getApplicationConfiguration()\n .then((config) => {\n if (!config && launch) {\n onError(\n new OkHiException({\n code: OkHiException.UNAUTHORIZED_CODE,\n message: OkHiException.UNAUTHORIZED_MESSAGE,\n })\n );\n } else if (config) {\n setApplicationConfiguration(config);\n const auth = new OkHiAuth();\n auth\n .anonymousSignInWithPhoneNumber(user.phone, ['verify'], config)\n .then(setToken)\n .catch(onError);\n }\n })\n .catch((error) => {\n if (launch) {\n onError(error);\n }\n });\n }\n }, [onError, user.phone, launch, applicationConfiguration, token]);\n\n useEffect(() => {\n if (token !== null && applicationConfiguration !== null) {\n // TODO: handle faliure\n generateStartDataPayload(props, token, applicationConfiguration)\n .then((startPayload) => {\n setStartPaylaod(startPayload);\n if (Platform.OS === 'android' && Platform.Version > 25) {\n OkHiNativeModule.setItem(\n 'okcollect-launch-payload',\n JSON.stringify({\n message: startMessage,\n payload: startPayload,\n url: getFrameUrl(applicationConfiguration),\n })\n ).catch(console.error);\n }\n })\n .catch(console.error);\n }\n }, [applicationConfiguration, props, token]);\n\n useEffect(() => {\n if (launch) {\n if (\n typeof config?.permissionsOnboarding === 'boolean' &&\n !config.permissionsOnboarding\n ) {\n isBackgroundLocationPermissionGranted().then((result) => {\n if (!result) {\n onError(\n new OkHiException({\n code: OkHiException.PERMISSION_DENIED_CODE,\n message:\n 'Always location permission must be granted to launch OkCollect',\n })\n );\n } else {\n setReady(true);\n }\n });\n } else {\n setReady(true);\n }\n } else {\n setReady(false);\n }\n }, [launch, config?.permissionsOnboarding]);\n\n const runWebViewCallback = (value: string) => {\n if (webViewRef.current) {\n const jsString = `(function (){ if (typeof runOkHiLocationManagerCallback === \"function\") { runOkHiLocationManagerCallback(\"${value}\") } })()`;\n webViewRef.current.injectJavaScript(jsString);\n }\n };\n\n const handleAndroidRequestLocationPermission = async (\n level: 'whenInUse' | 'always'\n ) => {\n if (level === 'whenInUse') {\n const whenInUseResult = await requestLocationPermission();\n const alwaysResult = await isBackgroundLocationPermissionGranted();\n runWebViewCallback(\n alwaysResult ? 'always' : whenInUseResult ? 'whenInUse' : 'blocked'\n );\n } else if (level === 'always') {\n const result = await requestBackgroundLocationPermission();\n runWebViewCallback(result ? 'always' : 'blocked');\n }\n };\n\n const handleIOSRequestLocationPermission = async (\n level: 'whenInUse' | 'always'\n ) => {\n const unknownError = new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message:\n 'Something went wrong while requesting permissions. Please try again later.',\n });\n try {\n const isServiceAvailable = await isLocationServicesEnabled();\n if (!isServiceAvailable) {\n openAppSettings();\n } else if (level === 'whenInUse') {\n const result = await requestLocationPermission();\n runWebViewCallback(result ? level : 'denied');\n } else if (level === 'always') {\n const granted = await isBackgroundLocationPermissionGranted();\n if (granted) {\n runWebViewCallback(level);\n } else {\n openAppSettings();\n }\n }\n } catch (error) {\n onError(unknownError);\n }\n };\n\n const handleRequestLocationPermission = async ({\n level,\n }: {\n level: 'whenInUse' | 'always';\n }) => {\n if (Platform.OS === 'android') {\n handleAndroidRequestLocationPermission(level);\n } else if (Platform.OS === 'ios') {\n handleIOSRequestLocationPermission(level);\n }\n };\n\n const handleOpenAppSettings = async () => {\n try {\n const granted = await isBackgroundLocationPermissionGranted();\n if (granted) {\n runWebViewCallback('always');\n } else {\n await openAppSettings();\n }\n } catch (error) {\n const err = error as OkHiException;\n onError(err);\n }\n };\n\n const handleOnMessage = ({ nativeEvent: { data } }: WebViewMessageEvent) => {\n try {\n const response: OkHiLocationManagerResponse = JSON.parse(data);\n\n if (response.message === 'fatal_exit') {\n //TODO: figure out bad phone number code\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: response.payload,\n })\n );\n } else if (response.message === 'exit_app') {\n onCloseRequest();\n } else if (response.message === 'request_enable_protected_apps') {\n openProtectedAppsSettings();\n } else if (\n response.message === 'location_created' ||\n response.message === 'location_selected' ||\n response.message === 'location_updated'\n ) {\n setReady(false); // auto close\n onSuccess({\n user: {\n ...response.payload.user,\n fcmPushNotificationToken: user.fcmPushNotificationToken,\n },\n location: parseOkHiLocation(response.payload.location),\n startVerification: function (config?: OkVerifyStartConfiguration) {\n const createdUser = { ...this.user };\n const location = { ...this.location };\n return new Promise((resolve, reject) => {\n if (!location.id) {\n reject(\n new OkHiException({\n code: OkHiException.BAD_REQUEST_CODE,\n message: 'Missing location id from response',\n })\n );\n } else {\n sv(\n createdUser.phone,\n location.id,\n location.lat,\n location.lon,\n config,\n createdUser.fcmPushNotificationToken\n )\n .then(resolve)\n .catch(reject);\n }\n });\n },\n });\n } else if (response.message === 'request_location_permission') {\n handleRequestLocationPermission(response.payload);\n } else if (response.message === 'open_app_settings') {\n handleOpenAppSettings();\n }\n } catch (error) {\n let errorMessage = 'Something went wrong';\n if (error instanceof Error) {\n errorMessage = error.message;\n }\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: errorMessage,\n })\n );\n }\n };\n\n const handleOnError = () => {\n onError(\n new OkHiException({\n code: OkHiException.NETWORK_ERROR_CODE,\n message: OkHiException.NETWORK_ERROR_MESSAGE,\n })\n );\n };\n\n const handleModalRequestClose = () => {\n webViewRef.current?.goBack();\n };\n\n const renderContent = () => {\n if (token === null || applicationConfiguration == null) {\n return loader || <Spinner />;\n }\n\n if (startPayload === null) {\n return loader || <Spinner />;\n }\n\n const { jsAfterLoad, jsBeforeLoad } = generateJavaScriptStartScript({\n message: startMessage,\n payload: startPayload,\n });\n\n return (\n <SafeAreaView style={style}>\n <WebView\n source={{ uri: getFrameUrl(applicationConfiguration) }}\n injectedJavaScriptBeforeContentLoaded={\n Platform.OS === 'ios' ? jsBeforeLoad : undefined\n }\n injectedJavaScript={Platform.OS === 'ios' ? undefined : jsAfterLoad}\n onMessage={handleOnMessage}\n onError={handleOnError}\n onHttpError={handleOnError}\n geolocationEnabled={true}\n allowsBackForwardNavigationGestures={true}\n ref={webViewRef}\n />\n </SafeAreaView>\n );\n };\n\n return (\n <Modal\n animationType=\"slide\"\n transparent={false}\n visible={ready}\n onRequestClose={handleModalRequestClose}\n >\n {ready ? renderContent() : null}\n </Modal>\n );\n};\n\nexport default OkHiLocationManager;\n"],"mappings":"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"}
@@ -4,9 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Spinner = void 0;
7
+
7
8
  var _react = _interopRequireDefault(require("react"));
9
+
8
10
  var _reactNative = require("react-native");
11
+
9
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
10
14
  /**
11
15
  * Default spinner component that'll be used as the initial loading indicator.
12
16
  */
@@ -23,5 +27,6 @@ const Spinner = () => {
23
27
  size: "small"
24
28
  }));
25
29
  };
30
+
26
31
  exports.Spinner = Spinner;
27
32
  //# sourceMappingURL=Spinner.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","obj","__esModule","default","Spinner","style","flex","alignItems","justifyContent","createElement","View","ActivityIndicator","color","size","exports"],"sources":["Spinner.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator, View, ViewStyle } from 'react-native';\n\n/**\n * Default spinner component that'll be used as the initial loading indicator.\n */\nexport const Spinner = () => {\n const style: ViewStyle = {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n };\n return (\n <View style={style}>\n <ActivityIndicator color=\"teal\" size=\"small\" />\n </View>\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAkE,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAElE;AACA;AACA;AACO,MAAMG,OAAO,GAAGA,CAAA,KAAM;EAC3B,MAAMC,KAAgB,GAAG;IACvBC,IAAI,EAAE,CAAC;IACPC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACD,oBACEX,MAAA,CAAAM,OAAA,CAAAM,aAAA,CAACT,YAAA,CAAAU,IAAI;IAACL,KAAK,EAAEA;EAAM,gBACjBR,MAAA,CAAAM,OAAA,CAAAM,aAAA,CAACT,YAAA,CAAAW,iBAAiB;IAACC,KAAK,EAAC,MAAM;IAACC,IAAI,EAAC;EAAO,CAAE,CAC1C,CAAC;AAEX,CAAC;AAACC,OAAA,CAAAV,OAAA,GAAAA,OAAA"}
1
+ {"version":3,"names":["Spinner","style","flex","alignItems","justifyContent"],"sources":["Spinner.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator, View, ViewStyle } from 'react-native';\n\n/**\n * Default spinner component that'll be used as the initial loading indicator.\n */\nexport const Spinner = () => {\n const style: ViewStyle = {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n };\n return (\n <View style={style}>\n <ActivityIndicator color=\"teal\" size=\"small\" />\n </View>\n );\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA;AACA;AACA;AACO,MAAMA,OAAO,GAAG,MAAM;EAC3B,MAAMC,KAAgB,GAAG;IACvBC,IAAI,EAAE,CADiB;IAEvBC,UAAU,EAAE,QAFW;IAGvBC,cAAc,EAAE;EAHO,CAAzB;EAKA,oBACE,6BAAC,iBAAD;IAAM,KAAK,EAAEH;EAAb,gBACE,6BAAC,8BAAD;IAAmB,KAAK,EAAC,MAAzB;IAAgC,IAAI,EAAC;EAArC,EADF,CADF;AAKD,CAXM"}