react-native-okhi 1.2.5-beta.2 → 1.2.6

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.
package/ios/Okhi.swift CHANGED
@@ -83,7 +83,7 @@ class Okhi: RCTEventEmitter {
83
83
  @objc func initializeIOS(_ branchId: String, clientKey: String, environment: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
84
84
  self.initResolve = resolve
85
85
  self.initReject = reject
86
- okVerify.initialize(with: branchId, clientKey: clientKey, environment: environment)
86
+ okVerify.initialize(branchId: branchId, clientKey: clientKey, environment: environment)
87
87
  }
88
88
 
89
89
  @objc func startAddressVerification(_ phoneNumber: String, locationId: String, lat: Double, lon: Double, resolve:@escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
@@ -106,15 +106,10 @@ const OkHiLocationManager = props => {
106
106
  const handleAndroidRequestLocationPermission = async level => {
107
107
  if (level === 'whenInUse') {
108
108
  const result = await (0, _OkCore.requestLocationPermission)();
109
- runWebViewCallback(result ? 'whenInUse' : 'denied');
109
+ runWebViewCallback(result ? 'whenInUse' : 'blocked');
110
110
  } else if (level === 'always') {
111
111
  const result = await (0, _OkCore.requestBackgroundLocationPermission)();
112
- if (result) {
113
- runWebViewCallback('always');
114
- } else {
115
- const isWhenInUseGranted = await (0, _OkCore.isLocationPermissionGranted)();
116
- runWebViewCallback(isWhenInUseGranted ? 'whenInUse' : 'denied');
117
- }
112
+ runWebViewCallback(result ? 'always' : 'blocked');
118
113
  }
119
114
  };
120
115
  const handleIOSRequestLocationPermission = async level => {
@@ -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","requestLocationPermission","requestBackgroundLocationPermission","isWhenInUseGranted","isLocationPermissionGranted","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 isLocationPermissionGranted,\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 result = await requestLocationPermission();\n runWebViewCallback(result ? 'whenInUse' : 'denied');\n } else if (level === 'always') {\n const result = await requestBackgroundLocationPermission();\n if (result) {\n runWebViewCallback('always');\n } else {\n const isWhenInUseGranted = await isLocationPermissionGranted();\n runWebViewCallback(isWhenInUseGranted ? 'whenInUse' : 'denied');\n }\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 onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: 'Something went wrong, please try again later.',\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":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAMA,IAAAI,KAAA,GAAAJ,OAAA;AAMA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AAEA,IAAAO,SAAA,GAAAP,OAAA;AAEA,IAAAQ,OAAA,GAAAR,OAAA;AAUA,IAAAS,iBAAA,GAAAT,OAAA;AAAuD,SAAAU,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAZ,wBAAAgB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAEvD;AACA;AACA;AACO,MAAMW,mBAAmB,GAAIC,KAA+B,IAAK;EACtE,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAC,eAAQ,EAAgB,IAAI,CAAC;EACvD,MAAM,CAACC,wBAAwB,EAAEC,2BAA2B,CAAC,GAC3D,IAAAF,eAAQ,EAA+B,IAAI,CAAC;EAC9C,MAAM,CAACG,YAAY,EAAEC,eAAe,CAAC,GACnC,IAAAJ,eAAQ,EAA6C,IAAI,CAAC;EAC5D,MAAMK,YAAY,GAAG;IAAEC,IAAI,EAAE;EAAE,CAAC;EAChC,MAAMC,KAAK,GAAGV,KAAK,CAACU,KAAK,GACrB;IAAE,GAAGV,KAAK,CAACU,KAAK;IAAE,GAAGF;EAAa,CAAC,GACnCA,YAAY;EAEhB,MAAM;IAAEG,IAAI;IAAEC,SAAS;IAAEC,cAAc;IAAEC,OAAO;IAAEC,MAAM;IAAEC,MAAM;IAAEC;EAAO,CAAC,GACxEjB,KAAK;EACP,MAAMkB,UAAU,GAAG,IAAAC,aAAM,EAAiB,IAAI,CAAC;EAC/C,MAAMC,YAAY,GAChBpB,KAAK,CAACqB,IAAI,KAAK,QAAQ,GAAG,WAAW,GAAG,iBAAiB;EAC3D,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAApB,eAAQ,EAAC,KAAK,CAAC;EAEzC,IAAAqB,gBAAS,EAAC,MAAM;IACd,IAAIpB,wBAAwB,IAAI,IAAI,IAAIH,KAAK,IAAI,IAAI,IAAIU,IAAI,CAACc,KAAK,EAAE;MACnE,IAAAC,mCAA2B,EAAC,CAAC,CAC1BC,IAAI,CAAEV,MAAM,IAAK;QAChB,IAAI,CAACA,MAAM,IAAID,MAAM,EAAE;UACrBF,OAAO,CACL,IAAIc,4BAAa,CAAC;YAChBC,IAAI,EAAED,4BAAa,CAACE,iBAAiB;YACrCC,OAAO,EAAEH,4BAAa,CAACI;UACzB,CAAC,CACH,CAAC;QACH,CAAC,MAAM,IAAIf,MAAM,EAAE;UACjBZ,2BAA2B,CAACY,MAAM,CAAC;UACnC,MAAMgB,IAAI,GAAG,IAAIC,kBAAQ,CAAC,CAAC;UAC3BD,IAAI,CACDE,8BAA8B,CAACxB,IAAI,CAACc,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAER,MAAM,CAAC,CAC9DU,IAAI,CAACzB,QAAQ,CAAC,CACdkC,KAAK,CAACtB,OAAO,CAAC;QACnB;MACF,CAAC,CAAC,CACDsB,KAAK,CAAEC,KAAK,IAAK;QAChB,IAAIrB,MAAM,EAAE;UACVF,OAAO,CAACuB,KAAK,CAAC;QAChB;MACF,CAAC,CAAC;IACN;EACF,CAAC,EAAE,CAACvB,OAAO,EAAEH,IAAI,CAACc,KAAK,EAAET,MAAM,EAAEZ,wBAAwB,EAAEH,KAAK,CAAC,CAAC;EAElE,IAAAuB,gBAAS,EAAC,MAAM;IACd,IAAIvB,KAAK,KAAK,IAAI,IAAIG,wBAAwB,KAAK,IAAI,EAAE;MACvD;MACA,IAAAkC,8BAAwB,EAACtC,KAAK,EAAEC,KAAK,EAAEG,wBAAwB,CAAC,CAC7DuB,IAAI,CAAErB,YAAY,IAAK;QACtBC,eAAe,CAACD,YAAY,CAAC;QAC7B,IAAIiC,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAID,qBAAQ,CAACE,OAAO,GAAG,EAAE,EAAE;UACtDC,kCAAgB,CAACC,OAAO,CACtB,0BAA0B,EAC1BC,IAAI,CAACC,SAAS,CAAC;YACbd,OAAO,EAAEX,YAAY;YACrB0B,OAAO,EAAExC,YAAY;YACrByC,GAAG,EAAE,IAAAC,iBAAW,EAAC5C,wBAAwB;UAC3C,CAAC,CACH,CAAC,CAACgC,KAAK,CAACa,OAAO,CAACZ,KAAK,CAAC;QACxB;MACF,CAAC,CAAC,CACDD,KAAK,CAACa,OAAO,CAACZ,KAAK,CAAC;IACzB;EACF,CAAC,EAAE,CAACjC,wBAAwB,EAAEJ,KAAK,EAAEC,KAAK,CAAC,CAAC;EAE5C,IAAAuB,gBAAS,EAAC,MAAM;IACd,IAAIR,MAAM,EAAE;MACV,IACE,QAAOC,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEiC,qBAAqB,MAAK,SAAS,IAClD,CAACjC,MAAM,CAACiC,qBAAqB,EAC7B;QACA,IAAAC,6CAAqC,EAAC,CAAC,CAACxB,IAAI,CAAEyB,MAAM,IAAK;UACvD,IAAI,CAACA,MAAM,EAAE;YACXtC,OAAO,CACL,IAAIc,4BAAa,CAAC;cAChBC,IAAI,EAAED,4BAAa,CAACyB,sBAAsB;cAC1CtB,OAAO,EACL;YACJ,CAAC,CACH,CAAC;UACH,CAAC,MAAM;YACLR,QAAQ,CAAC,IAAI,CAAC;UAChB;QACF,CAAC,CAAC;MACJ,CAAC,MAAM;QACLA,QAAQ,CAAC,IAAI,CAAC;MAChB;IACF,CAAC,MAAM;MACLA,QAAQ,CAAC,KAAK,CAAC;IACjB;EACF,CAAC,EAAE,CAACP,MAAM,EAAEC,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEiC,qBAAqB,CAAC,CAAC;EAE3C,MAAMI,kBAAkB,GAAIC,KAAa,IAAK;IAC5C,IAAIrC,UAAU,CAACsC,OAAO,EAAE;MACtB,MAAMC,QAAQ,GAAI,6GAA4GF,KAAM,WAAU;MAC9IrC,UAAU,CAACsC,OAAO,CAACE,gBAAgB,CAACD,QAAQ,CAAC;IAC/C;EACF,CAAC;EAED,MAAME,sCAAsC,GAAG,MAC7CC,KAA6B,IAC1B;IACH,IAAIA,KAAK,KAAK,WAAW,EAAE;MACzB,MAAMR,MAAM,GAAG,MAAM,IAAAS,iCAAyB,EAAC,CAAC;MAChDP,kBAAkB,CAACF,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACrD,CAAC,MAAM,IAAIQ,KAAK,KAAK,QAAQ,EAAE;MAC7B,MAAMR,MAAM,GAAG,MAAM,IAAAU,2CAAmC,EAAC,CAAC;MAC1D,IAAIV,MAAM,EAAE;QACVE,kBAAkB,CAAC,QAAQ,CAAC;MAC9B,CAAC,MAAM;QACL,MAAMS,kBAAkB,GAAG,MAAM,IAAAC,mCAA2B,EAAC,CAAC;QAC9DV,kBAAkB,CAACS,kBAAkB,GAAG,WAAW,GAAG,QAAQ,CAAC;MACjE;IACF;EACF,CAAC;EAED,MAAME,kCAAkC,GAAG,MACzCL,KAA6B,IAC1B;IACH,MAAMM,YAAY,GAAG,IAAItC,4BAAa,CAAC;MACrCC,IAAI,EAAED,4BAAa,CAACuC,kBAAkB;MACtCpC,OAAO,EACL;IACJ,CAAC,CAAC;IACF,IAAI;MACF,MAAMqC,kBAAkB,GAAG,MAAM,IAAAC,iCAAyB,EAAC,CAAC;MAC5D,IAAI,CAACD,kBAAkB,EAAE;QACvB,IAAAE,uBAAe,EAAC,CAAC;MACnB,CAAC,MAAM,IAAIV,KAAK,KAAK,WAAW,EAAE;QAChC,MAAMR,MAAM,GAAG,MAAM,IAAAS,iCAAyB,EAAC,CAAC;QAChDP,kBAAkB,CAACF,MAAM,GAAGQ,KAAK,GAAG,QAAQ,CAAC;MAC/C,CAAC,MAAM,IAAIA,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAMW,OAAO,GAAG,MAAM,IAAApB,6CAAqC,EAAC,CAAC;QAC7D,IAAIoB,OAAO,EAAE;UACXjB,kBAAkB,CAACM,KAAK,CAAC;QAC3B,CAAC,MAAM;UACL,IAAAU,uBAAe,EAAC,CAAC;QACnB;MACF;IACF,CAAC,CAAC,OAAOjC,KAAK,EAAE;MACdvB,OAAO,CAACoD,YAAY,CAAC;IACvB;EACF,CAAC;EAED,MAAMM,+BAA+B,GAAG,MAAAC,IAAA,IAIlC;IAAA,IAJyC;MAC7Cb;IAGF,CAAC,GAAAa,IAAA;IACC,IAAIlC,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;MAC7BmB,sCAAsC,CAACC,KAAK,CAAC;IAC/C,CAAC,MAAM,IAAIrB,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MAChCyB,kCAAkC,CAACL,KAAK,CAAC;IAC3C;EACF,CAAC;EAED,MAAMc,qBAAqB,GAAG,MAAAA,CAAA,KAAY;IACxC,IAAI;MACF,MAAMH,OAAO,GAAG,MAAM,IAAApB,6CAAqC,EAAC,CAAC;MAC7D,IAAIoB,OAAO,EAAE;QACXjB,kBAAkB,CAAC,QAAQ,CAAC;MAC9B,CAAC,MAAM;QACL,MAAM,IAAAgB,uBAAe,EAAC,CAAC;MACzB;IACF,CAAC,CAAC,OAAOjC,KAAK,EAAE;MACd,MAAMsC,GAAG,GAAGtC,KAAsB;MAClCvB,OAAO,CAAC6D,GAAG,CAAC;IACd;EACF,CAAC;EAED,MAAMC,eAAe,GAAGC,KAAA,IAAoD;IAAA,IAAnD;MAAEC,WAAW,EAAE;QAAEC;MAAK;IAAuB,CAAC,GAAAF,KAAA;IACrE,IAAI;MACF,MAAMG,QAAqC,GAAGpC,IAAI,CAACqC,KAAK,CAACF,IAAI,CAAC;MAE9D,IAAIC,QAAQ,CAACjD,OAAO,KAAK,YAAY,EAAE;QACrCjB,OAAO,CACL,IAAIc,4BAAa,CAAC;UAChBC,IAAI,EAAED,4BAAa,CAACuC,kBAAkB;UACtCpC,OAAO,EAAE;QACX,CAAC,CACH,CAAC;MACH,CAAC,MAAM,IAAIiD,QAAQ,CAACjD,OAAO,KAAK,UAAU,EAAE;QAC1ClB,cAAc,CAAC,CAAC;MAClB,CAAC,MAAM,IAAImE,QAAQ,CAACjD,OAAO,KAAK,+BAA+B,EAAE;QAC/D,IAAAmD,iCAAyB,EAAC,CAAC;MAC7B,CAAC,MAAM,IACLF,QAAQ,CAACjD,OAAO,KAAK,kBAAkB,IACvCiD,QAAQ,CAACjD,OAAO,KAAK,mBAAmB,IACxCiD,QAAQ,CAACjD,OAAO,KAAK,kBAAkB,EACvC;QACAnB,SAAS,CAAC;UACRD,IAAI,EAAE;YACJ,GAAGqE,QAAQ,CAAClC,OAAO,CAACnC,IAAI;YACxBwE,wBAAwB,EAAExE,IAAI,CAACwE;UACjC,CAAC;UACDC,QAAQ,EAAE,IAAAC,uBAAiB,EAACL,QAAQ,CAAClC,OAAO,CAACsC,QAAQ,CAAC;UACtDE,iBAAiB,EAAE,SAAAA,CAAUrE,MAAmC,EAAE;YAChE,MAAMsE,WAAW,GAAG;cAAE,GAAG,IAAI,CAAC5E;YAAK,CAAC;YACpC,MAAMyE,QAAQ,GAAG;cAAE,GAAG,IAAI,CAACA;YAAS,CAAC;YACrC,OAAO,IAAII,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;cACtC,IAAI,CAACN,QAAQ,CAACO,EAAE,EAAE;gBAChBD,MAAM,CACJ,IAAI9D,4BAAa,CAAC;kBAChBC,IAAI,EAAED,4BAAa,CAACgE,gBAAgB;kBACpC7D,OAAO,EAAE;gBACX,CAAC,CACH,CAAC;cACH,CAAC,MAAM;gBACL,IAAA8D,eAAE,EACAN,WAAW,CAAC9D,KAAK,EACjB2D,QAAQ,CAACO,EAAE,EACXP,QAAQ,CAACU,GAAG,EACZV,QAAQ,CAACW,GAAG,EACZ9E,MAAM,EACNsE,WAAW,CAACJ,wBACd,CAAC,CACExD,IAAI,CAAC8D,OAAO,CAAC,CACbrD,KAAK,CAACsD,MAAM,CAAC;cAClB;YACF,CAAC,CAAC;UACJ;QACF,CAAC,CAAC;MACJ,CAAC,MAAM,IAAIV,QAAQ,CAACjD,OAAO,KAAK,6BAA6B,EAAE;QAC7DyC,+BAA+B,CAACQ,QAAQ,CAAClC,OAAO,CAAC;MACnD,CAAC,MAAM,IAAIkC,QAAQ,CAACjD,OAAO,KAAK,mBAAmB,EAAE;QACnD2C,qBAAqB,CAAC,CAAC;MACzB;IACF,CAAC,CAAC,OAAOrC,KAAK,EAAE;MACd,IAAI2D,YAAY,GAAG,sBAAsB;MACzC,IAAI3D,KAAK,YAAY4D,KAAK,EAAE;QAC1BD,YAAY,GAAG3D,KAAK,CAACN,OAAO;MAC9B;MACAjB,OAAO,CACL,IAAIc,4BAAa,CAAC;QAChBC,IAAI,EAAED,4BAAa,CAACuC,kBAAkB;QACtCpC,OAAO,EAAEiE;MACX,CAAC,CACH,CAAC;IACH;EACF,CAAC;EAED,MAAME,aAAa,GAAGA,CAAA,KAAM;IAC1BpF,OAAO,CACL,IAAIc,4BAAa,CAAC;MAChBC,IAAI,EAAED,4BAAa,CAACuE,kBAAkB;MACtCpE,OAAO,EAAEH,4BAAa,CAACwE;IACzB,CAAC,CACH,CAAC;EACH,CAAC;EAED,MAAMC,uBAAuB,GAAGA,CAAA,KAAM;IAAA,IAAAC,mBAAA;IACpC,CAAAA,mBAAA,GAAApF,UAAU,CAACsC,OAAO,cAAA8C,mBAAA,uBAAlBA,mBAAA,CAAoBC,MAAM,CAAC,CAAC;EAC9B,CAAC;EAED,MAAMC,aAAa,GAAGA,CAAA,KAAM;IAC1B,IAAIvG,KAAK,KAAK,IAAI,IAAIG,wBAAwB,IAAI,IAAI,EAAE;MACtD,OAAOW,MAAM,iBAAIlD,MAAA,CAAAmB,OAAA,CAAAyH,aAAA,CAACvI,QAAA,CAAAwI,OAAO,MAAE,CAAC;IAC9B;IAEA,IAAIpG,YAAY,KAAK,IAAI,EAAE;MACzB,OAAOS,MAAM,iBAAIlD,MAAA,CAAAmB,OAAA,CAAAyH,aAAA,CAACvI,QAAA,CAAAwI,OAAO,MAAE,CAAC;IAC9B;IAEA,MAAM;MAAEC,WAAW;MAAEC;IAAa,CAAC,GAAG,IAAAC,mCAA6B,EAAC;MAClE9E,OAAO,EAAEX,YAAY;MACrB0B,OAAO,EAAExC;IACX,CAAC,CAAC;IAEF,oBACEzC,MAAA,CAAAmB,OAAA,CAAAyH,aAAA,CAACzI,YAAA,CAAA8I,YAAY;MAACpG,KAAK,EAAEA;IAAM,gBACzB7C,MAAA,CAAAmB,OAAA,CAAAyH,aAAA,CAACxI,mBAAA,CAAA8I,OAAO;MACNC,MAAM,EAAE;QAAEC,GAAG,EAAE,IAAAjE,iBAAW,EAAC5C,wBAAwB;MAAE,CAAE;MACvD8G,qCAAqC,EACnC3E,qBAAQ,CAACC,EAAE,KAAK,KAAK,GAAGoE,YAAY,GAAGO,SACxC;MACDC,kBAAkB,EAAE7E,qBAAQ,CAACC,EAAE,KAAK,KAAK,GAAG2E,SAAS,GAAGR,WAAY;MACpEU,SAAS,EAAEzC,eAAgB;MAC3B9D,OAAO,EAAEoF,aAAc;MACvBoB,WAAW,EAAEpB,aAAc;MAC3BqB,kBAAkB,EAAE,IAAK;MACzBC,mCAAmC,EAAE,IAAK;MAC1CC,GAAG,EAAEvG;IAAW,CACjB,CACW,CAAC;EAEnB,CAAC;EAED,oBACErD,MAAA,CAAAmB,OAAA,CAAAyH,aAAA,CAACzI,YAAA,CAAA0J,KAAK;IACJC,aAAa,EAAC,OAAO;IACrBC,WAAW,EAAE,KAAM;IACnBC,OAAO,EAAEvG,KAAM;IACfwG,cAAc,EAAEzB;EAAwB,GAEvC/E,KAAK,GAAGkF,aAAa,CAAC,CAAC,GAAG,IACtB,CAAC;AAEZ,CAAC;AAACuB,OAAA,CAAAhI,mBAAA,GAAAA,mBAAA;AAAA,IAAAiI,QAAA,GAEajI,mBAAmB;AAAAgI,OAAA,CAAA/I,OAAA,GAAAgJ,QAAA"}
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","requestLocationPermission","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 result = await requestLocationPermission();\n runWebViewCallback(result ? 'whenInUse' : 'blocked');\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 onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: 'Something went wrong, please try again later.',\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,4 +1,4 @@
1
1
  {
2
2
  "name": "okhiWebReactNative",
3
- "version": "1.2.5-beta.2"
3
+ "version": "1.2.6"
4
4
  }
@@ -6,7 +6,7 @@ import { getFrameUrl, generateJavaScriptStartScript, generateStartDataPayload, p
6
6
  import { OkHiException } from '../OkCore/OkHiException';
7
7
  import { OkHiAuth } from '../OkCore/OkHiAuth';
8
8
  import { start as sv } from '../OkVerify';
9
- import { getApplicationConfiguration, isBackgroundLocationPermissionGranted, isLocationPermissionGranted, isLocationServicesEnabled, openAppSettings, openProtectedAppsSettings, requestBackgroundLocationPermission, requestLocationPermission } from '../OkCore';
9
+ import { getApplicationConfiguration, isBackgroundLocationPermissionGranted, isLocationServicesEnabled, openAppSettings, openProtectedAppsSettings, requestBackgroundLocationPermission, requestLocationPermission } from '../OkCore';
10
10
  import { OkHiNativeModule } from '../OkHiNativeModule';
11
11
 
12
12
  /**
@@ -99,15 +99,10 @@ export const OkHiLocationManager = props => {
99
99
  const handleAndroidRequestLocationPermission = async level => {
100
100
  if (level === 'whenInUse') {
101
101
  const result = await requestLocationPermission();
102
- runWebViewCallback(result ? 'whenInUse' : 'denied');
102
+ runWebViewCallback(result ? 'whenInUse' : 'blocked');
103
103
  } else if (level === 'always') {
104
104
  const result = await requestBackgroundLocationPermission();
105
- if (result) {
106
- runWebViewCallback('always');
107
- } else {
108
- const isWhenInUseGranted = await isLocationPermissionGranted();
109
- runWebViewCallback(isWhenInUseGranted ? 'whenInUse' : 'denied');
110
- }
105
+ runWebViewCallback(result ? 'always' : 'blocked');
111
106
  }
112
107
  };
113
108
  const handleIOSRequestLocationPermission = async level => {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useEffect","useRef","Modal","SafeAreaView","Platform","WebView","Spinner","getFrameUrl","generateJavaScriptStartScript","generateStartDataPayload","parseOkHiLocation","OkHiException","OkHiAuth","start","sv","getApplicationConfiguration","isBackgroundLocationPermissionGranted","isLocationPermissionGranted","isLocationServicesEnabled","openAppSettings","openProtectedAppsSettings","requestBackgroundLocationPermission","requestLocationPermission","OkHiNativeModule","OkHiLocationManager","props","token","setToken","applicationConfiguration","setApplicationConfiguration","startPayload","setStartPaylaod","defaultStyle","flex","style","user","onSuccess","onCloseRequest","onError","loader","launch","config","webViewRef","startMessage","mode","ready","setReady","phone","then","code","UNAUTHORIZED_CODE","message","UNAUTHORIZED_MESSAGE","auth","anonymousSignInWithPhoneNumber","catch","error","OS","Version","setItem","JSON","stringify","payload","url","console","permissionsOnboarding","result","PERMISSION_DENIED_CODE","runWebViewCallback","value","current","jsString","injectJavaScript","handleAndroidRequestLocationPermission","level","isWhenInUseGranted","handleIOSRequestLocationPermission","unknownError","UNKNOWN_ERROR_CODE","isServiceAvailable","granted","handleRequestLocationPermission","_ref","handleOpenAppSettings","err","handleOnMessage","_ref2","nativeEvent","data","response","parse","fcmPushNotificationToken","location","startVerification","createdUser","Promise","resolve","reject","id","BAD_REQUEST_CODE","lat","lon","errorMessage","Error","handleOnError","NETWORK_ERROR_CODE","NETWORK_ERROR_MESSAGE","handleModalRequestClose","_webViewRef$current","goBack","renderContent","createElement","jsAfterLoad","jsBeforeLoad","source","uri","injectedJavaScriptBeforeContentLoaded","undefined","injectedJavaScript","onMessage","onHttpError","geolocationEnabled","allowsBackForwardNavigationGestures","ref","animationType","transparent","visible","onRequestClose"],"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 isLocationPermissionGranted,\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 result = await requestLocationPermission();\n runWebViewCallback(result ? 'whenInUse' : 'denied');\n } else if (level === 'always') {\n const result = await requestBackgroundLocationPermission();\n if (result) {\n runWebViewCallback('always');\n } else {\n const isWhenInUseGranted = await isLocationPermissionGranted();\n runWebViewCallback(isWhenInUseGranted ? 'whenInUse' : 'denied');\n }\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 onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: 'Something went wrong, please try again later.',\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":["React","useState","useEffect","useRef","Modal","SafeAreaView","Platform","WebView","Spinner","getFrameUrl","generateJavaScriptStartScript","generateStartDataPayload","parseOkHiLocation","OkHiException","OkHiAuth","start","sv","getApplicationConfiguration","isBackgroundLocationPermissionGranted","isLocationServicesEnabled","openAppSettings","openProtectedAppsSettings","requestBackgroundLocationPermission","requestLocationPermission","OkHiNativeModule","OkHiLocationManager","props","token","setToken","applicationConfiguration","setApplicationConfiguration","startPayload","setStartPaylaod","defaultStyle","flex","style","user","onSuccess","onCloseRequest","onError","loader","launch","config","webViewRef","startMessage","mode","ready","setReady","phone","then","code","UNAUTHORIZED_CODE","message","UNAUTHORIZED_MESSAGE","auth","anonymousSignInWithPhoneNumber","catch","error","OS","Version","setItem","JSON","stringify","payload","url","console","permissionsOnboarding","result","PERMISSION_DENIED_CODE","runWebViewCallback","value","current","jsString","injectJavaScript","handleAndroidRequestLocationPermission","level","handleIOSRequestLocationPermission","unknownError","UNKNOWN_ERROR_CODE","isServiceAvailable","granted","handleRequestLocationPermission","_ref","handleOpenAppSettings","err","handleOnMessage","_ref2","nativeEvent","data","response","parse","fcmPushNotificationToken","location","startVerification","createdUser","Promise","resolve","reject","id","BAD_REQUEST_CODE","lat","lon","errorMessage","Error","handleOnError","NETWORK_ERROR_CODE","NETWORK_ERROR_MESSAGE","handleModalRequestClose","_webViewRef$current","goBack","renderContent","createElement","jsAfterLoad","jsBeforeLoad","source","uri","injectedJavaScriptBeforeContentLoaded","undefined","injectedJavaScript","onMessage","onHttpError","geolocationEnabled","allowsBackForwardNavigationGestures","ref","animationType","transparent","visible","onRequestClose"],"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 result = await requestLocationPermission();\n runWebViewCallback(result ? 'whenInUse' : 'blocked');\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 onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: 'Something went wrong, please try again later.',\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,4 +1,4 @@
1
1
  {
2
2
  "name": "okhiWebReactNative",
3
- "version": "1.2.5-beta.2"
3
+ "version": "1.2.6"
4
4
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-okhi",
3
- "version": "1.2.5-beta.2",
3
+ "version": "1.2.6",
4
4
  "description": "The OkHi React Native library enables you to collect and verify addresses from your users",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
17
17
  s.source_files = "ios/**/*.{h,m,mm,swift}"
18
18
 
19
19
  s.dependency "React-Core"
20
- s.dependency "OkHi", "1.9.17-beta"
20
+ s.dependency "OkHi", "1.9.18-beta"
21
21
 
22
22
  # Don't install the dependencies when we run `pod install` in the old architecture.
23
23
  if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
@@ -21,7 +21,6 @@ import type { OkVerifyStartConfiguration } from '../OkVerify/types';
21
21
  import {
22
22
  getApplicationConfiguration,
23
23
  isBackgroundLocationPermissionGranted,
24
- isLocationPermissionGranted,
25
24
  isLocationServicesEnabled,
26
25
  openAppSettings,
27
26
  openProtectedAppsSettings,
@@ -139,15 +138,10 @@ export const OkHiLocationManager = (props: OkHiLocationManagerProps) => {
139
138
  ) => {
140
139
  if (level === 'whenInUse') {
141
140
  const result = await requestLocationPermission();
142
- runWebViewCallback(result ? 'whenInUse' : 'denied');
141
+ runWebViewCallback(result ? 'whenInUse' : 'blocked');
143
142
  } else if (level === 'always') {
144
143
  const result = await requestBackgroundLocationPermission();
145
- if (result) {
146
- runWebViewCallback('always');
147
- } else {
148
- const isWhenInUseGranted = await isLocationPermissionGranted();
149
- runWebViewCallback(isWhenInUseGranted ? 'whenInUse' : 'denied');
150
- }
144
+ runWebViewCallback(result ? 'always' : 'blocked');
151
145
  }
152
146
  };
153
147
 
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "okhiWebReactNative",
3
- "version": "1.2.5-beta.2"
3
+ "version": "1.2.6"
4
4
  }