react-native-okhi 1.0.26-beta.7 → 1.0.26-beta.8
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/lib/commonjs/OkCollect/OkHiLocationManager.js +6 -5
- package/lib/commonjs/OkCollect/OkHiLocationManager.js.map +1 -1
- package/lib/commonjs/OkCollect/Util.js +0 -1
- package/lib/commonjs/OkCollect/Util.js.map +1 -1
- package/lib/commonjs/OkCollect/app.json +1 -1
- package/lib/module/OkCollect/OkHiLocationManager.js +5 -4
- package/lib/module/OkCollect/OkHiLocationManager.js.map +1 -1
- package/lib/module/OkCollect/Util.js +0 -1
- package/lib/module/OkCollect/Util.js.map +1 -1
- package/lib/module/OkCollect/app.json +1 -1
- package/package.json +1 -1
- package/src/OkCollect/OkHiLocationManager.tsx +8 -8
- package/src/OkCollect/Util.ts +0 -1
- package/src/OkCollect/app.json +1 -1
|
@@ -74,6 +74,12 @@ const OkHiLocationManager = props => {
|
|
|
74
74
|
if (token !== null && applicationConfiguration !== null) {
|
|
75
75
|
// TODO: handle faliure
|
|
76
76
|
(0, _Util.generateStartDataPayload)(props, token, applicationConfiguration).then(startPayload => {
|
|
77
|
+
_OkHiNativeModule.OkHiNativeModule.setItem('okcollect-launch-payload', JSON.stringify({
|
|
78
|
+
message: 'select_location',
|
|
79
|
+
payload: startPayload,
|
|
80
|
+
url: (0, _Util.getFrameUrl)(applicationConfiguration)
|
|
81
|
+
})).catch(console.error);
|
|
82
|
+
|
|
77
83
|
setStartPaylaod(startPayload);
|
|
78
84
|
}).catch(console.error);
|
|
79
85
|
}
|
|
@@ -149,11 +155,6 @@ const OkHiLocationManager = props => {
|
|
|
149
155
|
return loader || /*#__PURE__*/_react.default.createElement(_Spinner.Spinner, null);
|
|
150
156
|
}
|
|
151
157
|
|
|
152
|
-
_OkHiNativeModule.OkHiNativeModule.setItem('okcollect-launch-payload', JSON.stringify({
|
|
153
|
-
message: 'select_location',
|
|
154
|
-
payload: startPayload
|
|
155
|
-
})).catch(console.error);
|
|
156
|
-
|
|
157
158
|
const {
|
|
158
159
|
jsAfterLoad,
|
|
159
160
|
jsBeforeLoad
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["OkHiLocationManager","props","token","setToken","useState","applicationConfiguration","setApplicationConfiguration","startPayload","setStartPaylaod","defaultStyle","flex","style","user","onSuccess","onCloseRequest","onError","loader","launch","useEffect","phone","getApplicationConfiguration","then","config","OkHiException","code","UNAUTHORIZED_CODE","message","UNAUTHORIZED_MESSAGE","auth","OkHiAuth","anonymousSignInWithPhoneNumber","catch","error","generateStartDataPayload","console","handleOnMessage","nativeEvent","data","response","JSON","parse","UNKNOWN_ERROR_CODE","payload","toString","openProtectedAppsSettings","location","parseOkHiLocation","startVerification","createdUser","Promise","resolve","reject","id","BAD_REQUEST_CODE","sv","lat","lon","errorMessage","Error","handleOnError","NETWORK_ERROR_CODE","NETWORK_ERROR_MESSAGE","renderContent","OkHiNativeModule","setItem","stringify","jsAfterLoad","jsBeforeLoad","generateJavaScriptStartScript","uri","getFrameUrl","Platform","OS","undefined"],"sources":["OkHiLocationManager.tsx"],"sourcesContent":["import React, { useState, useEffect } 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 openProtectedAppsSettings,\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 } = props;\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 })\n .catch(console.error);\n }\n }, [applicationConfiguration, props, token]);\n\n const handleOnMessage = ({ nativeEvent: { data } }: WebViewMessageEvent) => {\n try {\n const response: OkHiLocationManagerResponse = JSON.parse(data);\n if (response.message === 'fatal_exit') {\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: response.payload.toString(),\n })\n );\n } else if (response.message === 'exit_app') {\n onCloseRequest();\n } else if (response.message === 'request_enable_protected_apps') {\n openProtectedAppsSettings();\n } else {\n onSuccess({\n ...response.payload,\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 )\n .then(resolve)\n .catch(reject);\n }\n });\n },\n });\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 renderContent = () => {\n if (token === null || applicationConfiguration == null) {\n return loader || <Spinner />;\n }\n\n if (startPayload === null) {\n return loader || <Spinner />;\n }\n\n OkHiNativeModule.setItem(\n 'okcollect-launch-payload',\n JSON.stringify({\n message: 'select_location',\n payload: startPayload,\n })\n ).catch(console.error);\n\n const { jsAfterLoad, jsBeforeLoad } = generateJavaScriptStartScript({\n message: 'select_location',\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 />\n </SafeAreaView>\n );\n };\n\n return (\n <Modal animationType=\"slide\" transparent={false} visible={launch}>\n {launch ? 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","useEffect","phone","getApplicationConfiguration","then","config","OkHiException","code","UNAUTHORIZED_CODE","message","UNAUTHORIZED_MESSAGE","auth","OkHiAuth","anonymousSignInWithPhoneNumber","catch","error","generateStartDataPayload","OkHiNativeModule","setItem","JSON","stringify","payload","url","getFrameUrl","console","handleOnMessage","nativeEvent","data","response","parse","UNKNOWN_ERROR_CODE","toString","openProtectedAppsSettings","location","parseOkHiLocation","startVerification","createdUser","Promise","resolve","reject","id","BAD_REQUEST_CODE","sv","lat","lon","errorMessage","Error","handleOnError","NETWORK_ERROR_CODE","NETWORK_ERROR_MESSAGE","renderContent","jsAfterLoad","jsBeforeLoad","generateJavaScriptStartScript","uri","Platform","OS","undefined"],"sources":["OkHiLocationManager.tsx"],"sourcesContent":["import React, { useState, useEffect } 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 openProtectedAppsSettings,\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 } = props;\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 OkHiNativeModule.setItem(\n 'okcollect-launch-payload',\n JSON.stringify({\n message: 'select_location',\n payload: startPayload,\n url: getFrameUrl(applicationConfiguration),\n })\n ).catch(console.error);\n setStartPaylaod(startPayload);\n })\n .catch(console.error);\n }\n }, [applicationConfiguration, props, token]);\n\n const handleOnMessage = ({ nativeEvent: { data } }: WebViewMessageEvent) => {\n try {\n const response: OkHiLocationManagerResponse = JSON.parse(data);\n if (response.message === 'fatal_exit') {\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: response.payload.toString(),\n })\n );\n } else if (response.message === 'exit_app') {\n onCloseRequest();\n } else if (response.message === 'request_enable_protected_apps') {\n openProtectedAppsSettings();\n } else {\n onSuccess({\n ...response.payload,\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 )\n .then(resolve)\n .catch(reject);\n }\n });\n },\n });\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 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: 'select_location',\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 />\n </SafeAreaView>\n );\n };\n\n return (\n <Modal animationType=\"slide\" transparent={false} visible={launch}>\n {launch ? renderContent() : null}\n </Modal>\n );\n};\n\nexport default OkHiLocationManager;\n"],"mappings":"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"}
|
|
@@ -22,7 +22,6 @@ const generateStartDataPayload = async (props, authToken, applicationConfigurati
|
|
|
22
22
|
var _props$theme, _props$theme$colors, _props$theme2, _props$theme2$appBar, _applicationConfigura, _applicationConfigura2, _applicationConfigura3, _props$config, _props$theme3, _props$theme3$appBar, _props$config2, _props$config2$appBar, _props$config3, _props$config3$addres, _props$config4, _props$config4$addres, _props$config5, _props$config5$addres, _props$config6, _props$config6$addres;
|
|
23
23
|
|
|
24
24
|
const payload = {};
|
|
25
|
-
payload.url = getFrameUrl(applicationConfiguration);
|
|
26
25
|
payload.style = !props.theme ? undefined : {
|
|
27
26
|
base: {
|
|
28
27
|
color: (_props$theme = props.theme) === null || _props$theme === void 0 ? void 0 : (_props$theme$colors = _props$theme.colors) === null || _props$theme$colors === void 0 ? void 0 : _props$theme$colors.primary,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["generateStartDataPayload","props","authToken","applicationConfiguration","payload","url","getFrameUrl","style","theme","undefined","base","color","colors","primary","logo","appBar","name","app","user","phone","firstName","lastName","auth","context","container","version","developer","library","manifest","platform","hasLocationPermission","isLocationPermissionGranted","hasBackgroundLocationPermission","isBackgroundLocationPermissionGranted","permissions","location","Platform","OS","manufacturer","model","OkHiNativeModule","retrieveDeviceInfo","device","config","protectedApps","canOpenProtectedAppsSettings","streetView","backgroundColor","visible","addressTypes","home","work","DEV_FRAME_URL","PROD_FRAME_URL","SANDBOX_FRAME_URL","mode","OkHiMode","PROD","generateJavaScriptStartScript","startPayload","jsBeforeLoad","JSON","stringify","jsAfterLoad","parseOkHiLocation","id","lat","geo_point","lon","placeId","place_id","plusCode","plus_code","propertyName","property_name","streetName","street_name","title","subtitle","directions","otherInformation","other_information","streetViewPanoId","street_view","pano_id","streetViewPanoUrl","userId","user_id","propertyNumber","photo","displayTitle","display_title","country","state","city"],"sources":["Util.ts"],"sourcesContent":["import type { OkHiLocationManagerProps } from './types';\nimport {\n canOpenProtectedAppsSettings,\n isBackgroundLocationPermissionGranted,\n isLocationPermissionGranted,\n OkHiLocation,\n} from '../OkCore';\nimport { OkHiMode } from '../OkCore';\nimport type {\n OkHiLocationManagerStartDataPayload,\n OkHiLocationManagerStartMessage,\n} from './types';\nimport manifest from './app.json'; //TODO: fix this\nimport type { AuthApplicationConfig } from '../OkCore/_types';\nimport { Platform } from 'react-native';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\n\n/**\n * @ignore\n */\nexport const generateStartDataPayload = async (\n props: OkHiLocationManagerProps,\n authToken: string,\n applicationConfiguration: AuthApplicationConfig\n): Promise<OkHiLocationManagerStartDataPayload> => {\n const payload: any = {};\n payload.url = getFrameUrl(applicationConfiguration);\n payload.style = !props.theme\n ? undefined\n : {\n base: {\n color: props.theme?.colors?.primary,\n logo: props.theme?.appBar?.logo,\n name: applicationConfiguration.app?.name,\n },\n };\n payload.user = {\n phone: props.user.phone,\n firstName: props.user.firstName,\n lastName: props.user.lastName,\n };\n payload.auth = {\n authToken,\n };\n payload.context = {\n container: {\n name: applicationConfiguration.app?.name,\n version: applicationConfiguration.app?.version,\n },\n developer: {\n name: applicationConfiguration.context.developer,\n },\n library: {\n name: manifest.name,\n version: manifest.version,\n },\n platform: {\n name: 'react-native',\n },\n };\n const hasLocationPermission = await isLocationPermissionGranted();\n const hasBackgroundLocationPermission =\n await isBackgroundLocationPermissionGranted();\n payload.context.permissions = {\n location: hasBackgroundLocationPermission\n ? 'always'\n : hasLocationPermission\n ? 'whenInUse'\n : 'denied',\n };\n if (Platform.OS === 'android') {\n const { manufacturer, model } = await OkHiNativeModule.retrieveDeviceInfo();\n payload.context.device = {\n manufacturer,\n model,\n };\n payload.context.permissions = {\n ...payload.context.permissions,\n };\n }\n payload.config = {\n protectedApps:\n Platform.OS === 'android' && (await canOpenProtectedAppsSettings()),\n streetView:\n typeof props.config?.streetView === 'boolean'\n ? props.config.streetView\n : true,\n appBar: {\n color: props.theme?.appBar?.backgroundColor,\n visible: props.config?.appBar?.visible,\n },\n addressTypes: {\n home:\n typeof props.config?.addressTypes?.home === 'boolean'\n ? props.config?.addressTypes?.home\n : true,\n work:\n typeof props.config?.addressTypes?.work === 'boolean'\n ? props.config?.addressTypes?.work\n : true,\n },\n };\n return payload;\n};\n\n/**\n * @ignore\n */\nexport const getFrameUrl = (\n applicationConfiguration: AuthApplicationConfig\n) => {\n const DEV_FRAME_URL = 'https://dev-manager-v5.okhi.io';\n const PROD_FRAME_URL = 'https://manager-v5.okhi.io';\n const SANDBOX_FRAME_URL = 'https://sandbox-manager-v5.okhi.io';\n if (applicationConfiguration.context.mode === OkHiMode.PROD) {\n return PROD_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === ('dev' as any)) {\n return DEV_FRAME_URL;\n }\n return SANDBOX_FRAME_URL;\n};\n\n/**\n * @ignore\n */\nexport const generateJavaScriptStartScript = (startPayload: {\n message: OkHiLocationManagerStartMessage;\n payload: OkHiLocationManagerStartDataPayload;\n}) => {\n const jsBeforeLoad = `\n window.isNativeApp = true;\n window.NativeApp = {\n bridge: {\n receiveMessage: window.ReactNativeWebView.postMessage\n },\n data: ${JSON.stringify(startPayload)}\n }\n true;\n `;\n const jsAfterLoad = `\n window.startOkHiLocationManager({ \n receiveMessage: function(data) { window.ReactNativeWebView.postMessage(data) } }, \n ${JSON.stringify(startPayload)})\n `;\n return { jsBeforeLoad, jsAfterLoad };\n};\n\n/**\n * @ignore\n */\nexport const parseOkHiLocation = (location: any): OkHiLocation => {\n return {\n id: location?.id,\n lat: location?.geo_point?.lat,\n lon: location?.geo_point?.lon,\n placeId: location?.place_id,\n plusCode: location?.plus_code,\n propertyName: location?.property_name,\n streetName: location?.street_name,\n title: location?.title,\n subtitle: location?.subtitle,\n directions: location?.directions,\n otherInformation: location?.other_information,\n url: location?.url,\n streetViewPanoId: location?.street_view?.pano_id,\n streetViewPanoUrl: location?.street_view?.url,\n userId: location?.user_id,\n propertyNumber: location?.propertyNumber,\n photo: location?.photo,\n displayTitle: location?.display_title,\n country: location?.country,\n state: location?.state,\n city: location?.city,\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["generateStartDataPayload","props","authToken","applicationConfiguration","payload","style","theme","undefined","base","color","colors","primary","logo","appBar","name","app","user","phone","firstName","lastName","auth","context","container","version","developer","library","manifest","platform","hasLocationPermission","isLocationPermissionGranted","hasBackgroundLocationPermission","isBackgroundLocationPermissionGranted","permissions","location","Platform","OS","manufacturer","model","OkHiNativeModule","retrieveDeviceInfo","device","config","protectedApps","canOpenProtectedAppsSettings","streetView","backgroundColor","visible","addressTypes","home","work","getFrameUrl","DEV_FRAME_URL","PROD_FRAME_URL","SANDBOX_FRAME_URL","mode","OkHiMode","PROD","generateJavaScriptStartScript","startPayload","jsBeforeLoad","JSON","stringify","jsAfterLoad","parseOkHiLocation","id","lat","geo_point","lon","placeId","place_id","plusCode","plus_code","propertyName","property_name","streetName","street_name","title","subtitle","directions","otherInformation","other_information","url","streetViewPanoId","street_view","pano_id","streetViewPanoUrl","userId","user_id","propertyNumber","photo","displayTitle","display_title","country","state","city"],"sources":["Util.ts"],"sourcesContent":["import type { OkHiLocationManagerProps } from './types';\nimport {\n canOpenProtectedAppsSettings,\n isBackgroundLocationPermissionGranted,\n isLocationPermissionGranted,\n OkHiLocation,\n} from '../OkCore';\nimport { OkHiMode } from '../OkCore';\nimport type {\n OkHiLocationManagerStartDataPayload,\n OkHiLocationManagerStartMessage,\n} from './types';\nimport manifest from './app.json'; //TODO: fix this\nimport type { AuthApplicationConfig } from '../OkCore/_types';\nimport { Platform } from 'react-native';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\n\n/**\n * @ignore\n */\nexport const generateStartDataPayload = async (\n props: OkHiLocationManagerProps,\n authToken: string,\n applicationConfiguration: AuthApplicationConfig\n): Promise<OkHiLocationManagerStartDataPayload> => {\n const payload: any = {};\n payload.style = !props.theme\n ? undefined\n : {\n base: {\n color: props.theme?.colors?.primary,\n logo: props.theme?.appBar?.logo,\n name: applicationConfiguration.app?.name,\n },\n };\n payload.user = {\n phone: props.user.phone,\n firstName: props.user.firstName,\n lastName: props.user.lastName,\n };\n payload.auth = {\n authToken,\n };\n payload.context = {\n container: {\n name: applicationConfiguration.app?.name,\n version: applicationConfiguration.app?.version,\n },\n developer: {\n name: applicationConfiguration.context.developer,\n },\n library: {\n name: manifest.name,\n version: manifest.version,\n },\n platform: {\n name: 'react-native',\n },\n };\n const hasLocationPermission = await isLocationPermissionGranted();\n const hasBackgroundLocationPermission =\n await isBackgroundLocationPermissionGranted();\n payload.context.permissions = {\n location: hasBackgroundLocationPermission\n ? 'always'\n : hasLocationPermission\n ? 'whenInUse'\n : 'denied',\n };\n if (Platform.OS === 'android') {\n const { manufacturer, model } = await OkHiNativeModule.retrieveDeviceInfo();\n payload.context.device = {\n manufacturer,\n model,\n };\n payload.context.permissions = {\n ...payload.context.permissions,\n };\n }\n payload.config = {\n protectedApps:\n Platform.OS === 'android' && (await canOpenProtectedAppsSettings()),\n streetView:\n typeof props.config?.streetView === 'boolean'\n ? props.config.streetView\n : true,\n appBar: {\n color: props.theme?.appBar?.backgroundColor,\n visible: props.config?.appBar?.visible,\n },\n addressTypes: {\n home:\n typeof props.config?.addressTypes?.home === 'boolean'\n ? props.config?.addressTypes?.home\n : true,\n work:\n typeof props.config?.addressTypes?.work === 'boolean'\n ? props.config?.addressTypes?.work\n : true,\n },\n };\n return payload;\n};\n\n/**\n * @ignore\n */\nexport const getFrameUrl = (\n applicationConfiguration: AuthApplicationConfig\n) => {\n const DEV_FRAME_URL = 'https://dev-manager-v5.okhi.io';\n const PROD_FRAME_URL = 'https://manager-v5.okhi.io';\n const SANDBOX_FRAME_URL = 'https://sandbox-manager-v5.okhi.io';\n if (applicationConfiguration.context.mode === OkHiMode.PROD) {\n return PROD_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === ('dev' as any)) {\n return DEV_FRAME_URL;\n }\n return SANDBOX_FRAME_URL;\n};\n\n/**\n * @ignore\n */\nexport const generateJavaScriptStartScript = (startPayload: {\n message: OkHiLocationManagerStartMessage;\n payload: OkHiLocationManagerStartDataPayload;\n}) => {\n const jsBeforeLoad = `\n window.isNativeApp = true;\n window.NativeApp = {\n bridge: {\n receiveMessage: window.ReactNativeWebView.postMessage\n },\n data: ${JSON.stringify(startPayload)}\n }\n true;\n `;\n const jsAfterLoad = `\n window.startOkHiLocationManager({ \n receiveMessage: function(data) { window.ReactNativeWebView.postMessage(data) } }, \n ${JSON.stringify(startPayload)})\n `;\n return { jsBeforeLoad, jsAfterLoad };\n};\n\n/**\n * @ignore\n */\nexport const parseOkHiLocation = (location: any): OkHiLocation => {\n return {\n id: location?.id,\n lat: location?.geo_point?.lat,\n lon: location?.geo_point?.lon,\n placeId: location?.place_id,\n plusCode: location?.plus_code,\n propertyName: location?.property_name,\n streetName: location?.street_name,\n title: location?.title,\n subtitle: location?.subtitle,\n directions: location?.directions,\n otherInformation: location?.other_information,\n url: location?.url,\n streetViewPanoId: location?.street_view?.pano_id,\n streetViewPanoUrl: location?.street_view?.url,\n userId: location?.user_id,\n propertyNumber: location?.propertyNumber,\n photo: location?.photo,\n displayTitle: location?.display_title,\n country: location?.country,\n state: location?.state,\n city: location?.city,\n };\n};\n"],"mappings":"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"}
|
|
@@ -54,6 +54,11 @@ export const OkHiLocationManager = props => {
|
|
|
54
54
|
if (token !== null && applicationConfiguration !== null) {
|
|
55
55
|
// TODO: handle faliure
|
|
56
56
|
generateStartDataPayload(props, token, applicationConfiguration).then(startPayload => {
|
|
57
|
+
OkHiNativeModule.setItem('okcollect-launch-payload', JSON.stringify({
|
|
58
|
+
message: 'select_location',
|
|
59
|
+
payload: startPayload,
|
|
60
|
+
url: getFrameUrl(applicationConfiguration)
|
|
61
|
+
})).catch(console.error);
|
|
57
62
|
setStartPaylaod(startPayload);
|
|
58
63
|
}).catch(console.error);
|
|
59
64
|
}
|
|
@@ -129,10 +134,6 @@ export const OkHiLocationManager = props => {
|
|
|
129
134
|
return loader || /*#__PURE__*/React.createElement(Spinner, null);
|
|
130
135
|
}
|
|
131
136
|
|
|
132
|
-
OkHiNativeModule.setItem('okcollect-launch-payload', JSON.stringify({
|
|
133
|
-
message: 'select_location',
|
|
134
|
-
payload: startPayload
|
|
135
|
-
})).catch(console.error);
|
|
136
137
|
const {
|
|
137
138
|
jsAfterLoad,
|
|
138
139
|
jsBeforeLoad
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","useEffect","Modal","SafeAreaView","Platform","WebView","Spinner","getFrameUrl","generateJavaScriptStartScript","generateStartDataPayload","parseOkHiLocation","OkHiException","OkHiAuth","start","sv","getApplicationConfiguration","openProtectedAppsSettings","OkHiNativeModule","OkHiLocationManager","props","token","setToken","applicationConfiguration","setApplicationConfiguration","startPayload","setStartPaylaod","defaultStyle","flex","style","user","onSuccess","onCloseRequest","onError","loader","launch","phone","then","config","code","UNAUTHORIZED_CODE","message","UNAUTHORIZED_MESSAGE","auth","anonymousSignInWithPhoneNumber","catch","error","console","handleOnMessage","nativeEvent","data","response","JSON","parse","UNKNOWN_ERROR_CODE","payload","toString","location","startVerification","createdUser","Promise","resolve","reject","id","BAD_REQUEST_CODE","lat","lon","errorMessage","Error","handleOnError","NETWORK_ERROR_CODE","NETWORK_ERROR_MESSAGE","renderContent","setItem","stringify","jsAfterLoad","jsBeforeLoad","uri","OS","undefined"],"sources":["OkHiLocationManager.tsx"],"sourcesContent":["import React, { useState, useEffect } 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 openProtectedAppsSettings,\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 } = props;\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 })\n .catch(console.error);\n }\n }, [applicationConfiguration, props, token]);\n\n const handleOnMessage = ({ nativeEvent: { data } }: WebViewMessageEvent) => {\n try {\n const response: OkHiLocationManagerResponse = JSON.parse(data);\n if (response.message === 'fatal_exit') {\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: response.payload.toString(),\n })\n );\n } else if (response.message === 'exit_app') {\n onCloseRequest();\n } else if (response.message === 'request_enable_protected_apps') {\n openProtectedAppsSettings();\n } else {\n onSuccess({\n ...response.payload,\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 )\n .then(resolve)\n .catch(reject);\n }\n });\n },\n });\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 renderContent = () => {\n if (token === null || applicationConfiguration == null) {\n return loader || <Spinner />;\n }\n\n if (startPayload === null) {\n return loader || <Spinner />;\n }\n\n OkHiNativeModule.setItem(\n 'okcollect-launch-payload',\n JSON.stringify({\n message: 'select_location',\n payload: startPayload,\n })\n ).catch(console.error);\n\n const { jsAfterLoad, jsBeforeLoad } = generateJavaScriptStartScript({\n message: 'select_location',\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 />\n </SafeAreaView>\n );\n };\n\n return (\n <Modal animationType=\"slide\" transparent={false} visible={launch}>\n {launch ? renderContent() : null}\n </Modal>\n );\n};\n\nexport default OkHiLocationManager;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","useState","useEffect","Modal","SafeAreaView","Platform","WebView","Spinner","getFrameUrl","generateJavaScriptStartScript","generateStartDataPayload","parseOkHiLocation","OkHiException","OkHiAuth","start","sv","getApplicationConfiguration","openProtectedAppsSettings","OkHiNativeModule","OkHiLocationManager","props","token","setToken","applicationConfiguration","setApplicationConfiguration","startPayload","setStartPaylaod","defaultStyle","flex","style","user","onSuccess","onCloseRequest","onError","loader","launch","phone","then","config","code","UNAUTHORIZED_CODE","message","UNAUTHORIZED_MESSAGE","auth","anonymousSignInWithPhoneNumber","catch","error","setItem","JSON","stringify","payload","url","console","handleOnMessage","nativeEvent","data","response","parse","UNKNOWN_ERROR_CODE","toString","location","startVerification","createdUser","Promise","resolve","reject","id","BAD_REQUEST_CODE","lat","lon","errorMessage","Error","handleOnError","NETWORK_ERROR_CODE","NETWORK_ERROR_MESSAGE","renderContent","jsAfterLoad","jsBeforeLoad","uri","OS","undefined"],"sources":["OkHiLocationManager.tsx"],"sourcesContent":["import React, { useState, useEffect } 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 openProtectedAppsSettings,\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 } = props;\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 OkHiNativeModule.setItem(\n 'okcollect-launch-payload',\n JSON.stringify({\n message: 'select_location',\n payload: startPayload,\n url: getFrameUrl(applicationConfiguration),\n })\n ).catch(console.error);\n setStartPaylaod(startPayload);\n })\n .catch(console.error);\n }\n }, [applicationConfiguration, props, token]);\n\n const handleOnMessage = ({ nativeEvent: { data } }: WebViewMessageEvent) => {\n try {\n const response: OkHiLocationManagerResponse = JSON.parse(data);\n if (response.message === 'fatal_exit') {\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: response.payload.toString(),\n })\n );\n } else if (response.message === 'exit_app') {\n onCloseRequest();\n } else if (response.message === 'request_enable_protected_apps') {\n openProtectedAppsSettings();\n } else {\n onSuccess({\n ...response.payload,\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 )\n .then(resolve)\n .catch(reject);\n }\n });\n },\n });\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 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: 'select_location',\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 />\n </SafeAreaView>\n );\n };\n\n return (\n <Modal animationType=\"slide\" transparent={false} visible={launch}>\n {launch ? renderContent() : null}\n </Modal>\n );\n};\n\nexport default OkHiLocationManager;\n"],"mappings":"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"}
|
|
@@ -12,7 +12,6 @@ export const generateStartDataPayload = async (props, authToken, applicationConf
|
|
|
12
12
|
var _props$theme, _props$theme$colors, _props$theme2, _props$theme2$appBar, _applicationConfigura, _applicationConfigura2, _applicationConfigura3, _props$config, _props$theme3, _props$theme3$appBar, _props$config2, _props$config2$appBar, _props$config3, _props$config3$addres, _props$config4, _props$config4$addres, _props$config5, _props$config5$addres, _props$config6, _props$config6$addres;
|
|
13
13
|
|
|
14
14
|
const payload = {};
|
|
15
|
-
payload.url = getFrameUrl(applicationConfiguration);
|
|
16
15
|
payload.style = !props.theme ? undefined : {
|
|
17
16
|
base: {
|
|
18
17
|
color: (_props$theme = props.theme) === null || _props$theme === void 0 ? void 0 : (_props$theme$colors = _props$theme.colors) === null || _props$theme$colors === void 0 ? void 0 : _props$theme$colors.primary,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["canOpenProtectedAppsSettings","isBackgroundLocationPermissionGranted","isLocationPermissionGranted","OkHiMode","manifest","Platform","OkHiNativeModule","generateStartDataPayload","props","authToken","applicationConfiguration","payload","url","getFrameUrl","style","theme","undefined","base","color","colors","primary","logo","appBar","name","app","user","phone","firstName","lastName","auth","context","container","version","developer","library","platform","hasLocationPermission","hasBackgroundLocationPermission","permissions","location","OS","manufacturer","model","retrieveDeviceInfo","device","config","protectedApps","streetView","backgroundColor","visible","addressTypes","home","work","DEV_FRAME_URL","PROD_FRAME_URL","SANDBOX_FRAME_URL","mode","PROD","generateJavaScriptStartScript","startPayload","jsBeforeLoad","JSON","stringify","jsAfterLoad","parseOkHiLocation","id","lat","geo_point","lon","placeId","place_id","plusCode","plus_code","propertyName","property_name","streetName","street_name","title","subtitle","directions","otherInformation","other_information","streetViewPanoId","street_view","pano_id","streetViewPanoUrl","userId","user_id","propertyNumber","photo","displayTitle","display_title","country","state","city"],"sources":["Util.ts"],"sourcesContent":["import type { OkHiLocationManagerProps } from './types';\nimport {\n canOpenProtectedAppsSettings,\n isBackgroundLocationPermissionGranted,\n isLocationPermissionGranted,\n OkHiLocation,\n} from '../OkCore';\nimport { OkHiMode } from '../OkCore';\nimport type {\n OkHiLocationManagerStartDataPayload,\n OkHiLocationManagerStartMessage,\n} from './types';\nimport manifest from './app.json'; //TODO: fix this\nimport type { AuthApplicationConfig } from '../OkCore/_types';\nimport { Platform } from 'react-native';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\n\n/**\n * @ignore\n */\nexport const generateStartDataPayload = async (\n props: OkHiLocationManagerProps,\n authToken: string,\n applicationConfiguration: AuthApplicationConfig\n): Promise<OkHiLocationManagerStartDataPayload> => {\n const payload: any = {};\n payload.url = getFrameUrl(applicationConfiguration);\n payload.style = !props.theme\n ? undefined\n : {\n base: {\n color: props.theme?.colors?.primary,\n logo: props.theme?.appBar?.logo,\n name: applicationConfiguration.app?.name,\n },\n };\n payload.user = {\n phone: props.user.phone,\n firstName: props.user.firstName,\n lastName: props.user.lastName,\n };\n payload.auth = {\n authToken,\n };\n payload.context = {\n container: {\n name: applicationConfiguration.app?.name,\n version: applicationConfiguration.app?.version,\n },\n developer: {\n name: applicationConfiguration.context.developer,\n },\n library: {\n name: manifest.name,\n version: manifest.version,\n },\n platform: {\n name: 'react-native',\n },\n };\n const hasLocationPermission = await isLocationPermissionGranted();\n const hasBackgroundLocationPermission =\n await isBackgroundLocationPermissionGranted();\n payload.context.permissions = {\n location: hasBackgroundLocationPermission\n ? 'always'\n : hasLocationPermission\n ? 'whenInUse'\n : 'denied',\n };\n if (Platform.OS === 'android') {\n const { manufacturer, model } = await OkHiNativeModule.retrieveDeviceInfo();\n payload.context.device = {\n manufacturer,\n model,\n };\n payload.context.permissions = {\n ...payload.context.permissions,\n };\n }\n payload.config = {\n protectedApps:\n Platform.OS === 'android' && (await canOpenProtectedAppsSettings()),\n streetView:\n typeof props.config?.streetView === 'boolean'\n ? props.config.streetView\n : true,\n appBar: {\n color: props.theme?.appBar?.backgroundColor,\n visible: props.config?.appBar?.visible,\n },\n addressTypes: {\n home:\n typeof props.config?.addressTypes?.home === 'boolean'\n ? props.config?.addressTypes?.home\n : true,\n work:\n typeof props.config?.addressTypes?.work === 'boolean'\n ? props.config?.addressTypes?.work\n : true,\n },\n };\n return payload;\n};\n\n/**\n * @ignore\n */\nexport const getFrameUrl = (\n applicationConfiguration: AuthApplicationConfig\n) => {\n const DEV_FRAME_URL = 'https://dev-manager-v5.okhi.io';\n const PROD_FRAME_URL = 'https://manager-v5.okhi.io';\n const SANDBOX_FRAME_URL = 'https://sandbox-manager-v5.okhi.io';\n if (applicationConfiguration.context.mode === OkHiMode.PROD) {\n return PROD_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === ('dev' as any)) {\n return DEV_FRAME_URL;\n }\n return SANDBOX_FRAME_URL;\n};\n\n/**\n * @ignore\n */\nexport const generateJavaScriptStartScript = (startPayload: {\n message: OkHiLocationManagerStartMessage;\n payload: OkHiLocationManagerStartDataPayload;\n}) => {\n const jsBeforeLoad = `\n window.isNativeApp = true;\n window.NativeApp = {\n bridge: {\n receiveMessage: window.ReactNativeWebView.postMessage\n },\n data: ${JSON.stringify(startPayload)}\n }\n true;\n `;\n const jsAfterLoad = `\n window.startOkHiLocationManager({ \n receiveMessage: function(data) { window.ReactNativeWebView.postMessage(data) } }, \n ${JSON.stringify(startPayload)})\n `;\n return { jsBeforeLoad, jsAfterLoad };\n};\n\n/**\n * @ignore\n */\nexport const parseOkHiLocation = (location: any): OkHiLocation => {\n return {\n id: location?.id,\n lat: location?.geo_point?.lat,\n lon: location?.geo_point?.lon,\n placeId: location?.place_id,\n plusCode: location?.plus_code,\n propertyName: location?.property_name,\n streetName: location?.street_name,\n title: location?.title,\n subtitle: location?.subtitle,\n directions: location?.directions,\n otherInformation: location?.other_information,\n url: location?.url,\n streetViewPanoId: location?.street_view?.pano_id,\n streetViewPanoUrl: location?.street_view?.url,\n userId: location?.user_id,\n propertyNumber: location?.propertyNumber,\n photo: location?.photo,\n displayTitle: location?.display_title,\n country: location?.country,\n state: location?.state,\n city: location?.city,\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["canOpenProtectedAppsSettings","isBackgroundLocationPermissionGranted","isLocationPermissionGranted","OkHiMode","manifest","Platform","OkHiNativeModule","generateStartDataPayload","props","authToken","applicationConfiguration","payload","style","theme","undefined","base","color","colors","primary","logo","appBar","name","app","user","phone","firstName","lastName","auth","context","container","version","developer","library","platform","hasLocationPermission","hasBackgroundLocationPermission","permissions","location","OS","manufacturer","model","retrieveDeviceInfo","device","config","protectedApps","streetView","backgroundColor","visible","addressTypes","home","work","getFrameUrl","DEV_FRAME_URL","PROD_FRAME_URL","SANDBOX_FRAME_URL","mode","PROD","generateJavaScriptStartScript","startPayload","jsBeforeLoad","JSON","stringify","jsAfterLoad","parseOkHiLocation","id","lat","geo_point","lon","placeId","place_id","plusCode","plus_code","propertyName","property_name","streetName","street_name","title","subtitle","directions","otherInformation","other_information","url","streetViewPanoId","street_view","pano_id","streetViewPanoUrl","userId","user_id","propertyNumber","photo","displayTitle","display_title","country","state","city"],"sources":["Util.ts"],"sourcesContent":["import type { OkHiLocationManagerProps } from './types';\nimport {\n canOpenProtectedAppsSettings,\n isBackgroundLocationPermissionGranted,\n isLocationPermissionGranted,\n OkHiLocation,\n} from '../OkCore';\nimport { OkHiMode } from '../OkCore';\nimport type {\n OkHiLocationManagerStartDataPayload,\n OkHiLocationManagerStartMessage,\n} from './types';\nimport manifest from './app.json'; //TODO: fix this\nimport type { AuthApplicationConfig } from '../OkCore/_types';\nimport { Platform } from 'react-native';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\n\n/**\n * @ignore\n */\nexport const generateStartDataPayload = async (\n props: OkHiLocationManagerProps,\n authToken: string,\n applicationConfiguration: AuthApplicationConfig\n): Promise<OkHiLocationManagerStartDataPayload> => {\n const payload: any = {};\n payload.style = !props.theme\n ? undefined\n : {\n base: {\n color: props.theme?.colors?.primary,\n logo: props.theme?.appBar?.logo,\n name: applicationConfiguration.app?.name,\n },\n };\n payload.user = {\n phone: props.user.phone,\n firstName: props.user.firstName,\n lastName: props.user.lastName,\n };\n payload.auth = {\n authToken,\n };\n payload.context = {\n container: {\n name: applicationConfiguration.app?.name,\n version: applicationConfiguration.app?.version,\n },\n developer: {\n name: applicationConfiguration.context.developer,\n },\n library: {\n name: manifest.name,\n version: manifest.version,\n },\n platform: {\n name: 'react-native',\n },\n };\n const hasLocationPermission = await isLocationPermissionGranted();\n const hasBackgroundLocationPermission =\n await isBackgroundLocationPermissionGranted();\n payload.context.permissions = {\n location: hasBackgroundLocationPermission\n ? 'always'\n : hasLocationPermission\n ? 'whenInUse'\n : 'denied',\n };\n if (Platform.OS === 'android') {\n const { manufacturer, model } = await OkHiNativeModule.retrieveDeviceInfo();\n payload.context.device = {\n manufacturer,\n model,\n };\n payload.context.permissions = {\n ...payload.context.permissions,\n };\n }\n payload.config = {\n protectedApps:\n Platform.OS === 'android' && (await canOpenProtectedAppsSettings()),\n streetView:\n typeof props.config?.streetView === 'boolean'\n ? props.config.streetView\n : true,\n appBar: {\n color: props.theme?.appBar?.backgroundColor,\n visible: props.config?.appBar?.visible,\n },\n addressTypes: {\n home:\n typeof props.config?.addressTypes?.home === 'boolean'\n ? props.config?.addressTypes?.home\n : true,\n work:\n typeof props.config?.addressTypes?.work === 'boolean'\n ? props.config?.addressTypes?.work\n : true,\n },\n };\n return payload;\n};\n\n/**\n * @ignore\n */\nexport const getFrameUrl = (\n applicationConfiguration: AuthApplicationConfig\n) => {\n const DEV_FRAME_URL = 'https://dev-manager-v5.okhi.io';\n const PROD_FRAME_URL = 'https://manager-v5.okhi.io';\n const SANDBOX_FRAME_URL = 'https://sandbox-manager-v5.okhi.io';\n if (applicationConfiguration.context.mode === OkHiMode.PROD) {\n return PROD_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === ('dev' as any)) {\n return DEV_FRAME_URL;\n }\n return SANDBOX_FRAME_URL;\n};\n\n/**\n * @ignore\n */\nexport const generateJavaScriptStartScript = (startPayload: {\n message: OkHiLocationManagerStartMessage;\n payload: OkHiLocationManagerStartDataPayload;\n}) => {\n const jsBeforeLoad = `\n window.isNativeApp = true;\n window.NativeApp = {\n bridge: {\n receiveMessage: window.ReactNativeWebView.postMessage\n },\n data: ${JSON.stringify(startPayload)}\n }\n true;\n `;\n const jsAfterLoad = `\n window.startOkHiLocationManager({ \n receiveMessage: function(data) { window.ReactNativeWebView.postMessage(data) } }, \n ${JSON.stringify(startPayload)})\n `;\n return { jsBeforeLoad, jsAfterLoad };\n};\n\n/**\n * @ignore\n */\nexport const parseOkHiLocation = (location: any): OkHiLocation => {\n return {\n id: location?.id,\n lat: location?.geo_point?.lat,\n lon: location?.geo_point?.lon,\n placeId: location?.place_id,\n plusCode: location?.plus_code,\n propertyName: location?.property_name,\n streetName: location?.street_name,\n title: location?.title,\n subtitle: location?.subtitle,\n directions: location?.directions,\n otherInformation: location?.other_information,\n url: location?.url,\n streetViewPanoId: location?.street_view?.pano_id,\n streetViewPanoUrl: location?.street_view?.url,\n userId: location?.user_id,\n propertyNumber: location?.propertyNumber,\n photo: location?.photo,\n displayTitle: location?.display_title,\n country: location?.country,\n state: location?.state,\n city: location?.city,\n };\n};\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -72,6 +72,14 @@ export const OkHiLocationManager = (props: OkHiLocationManagerProps) => {
|
|
|
72
72
|
// TODO: handle faliure
|
|
73
73
|
generateStartDataPayload(props, token, applicationConfiguration)
|
|
74
74
|
.then((startPayload) => {
|
|
75
|
+
OkHiNativeModule.setItem(
|
|
76
|
+
'okcollect-launch-payload',
|
|
77
|
+
JSON.stringify({
|
|
78
|
+
message: 'select_location',
|
|
79
|
+
payload: startPayload,
|
|
80
|
+
url: getFrameUrl(applicationConfiguration),
|
|
81
|
+
})
|
|
82
|
+
).catch(console.error);
|
|
75
83
|
setStartPaylaod(startPayload);
|
|
76
84
|
})
|
|
77
85
|
.catch(console.error);
|
|
@@ -154,14 +162,6 @@ export const OkHiLocationManager = (props: OkHiLocationManagerProps) => {
|
|
|
154
162
|
return loader || <Spinner />;
|
|
155
163
|
}
|
|
156
164
|
|
|
157
|
-
OkHiNativeModule.setItem(
|
|
158
|
-
'okcollect-launch-payload',
|
|
159
|
-
JSON.stringify({
|
|
160
|
-
message: 'select_location',
|
|
161
|
-
payload: startPayload,
|
|
162
|
-
})
|
|
163
|
-
).catch(console.error);
|
|
164
|
-
|
|
165
165
|
const { jsAfterLoad, jsBeforeLoad } = generateJavaScriptStartScript({
|
|
166
166
|
message: 'select_location',
|
|
167
167
|
payload: startPayload,
|
package/src/OkCollect/Util.ts
CHANGED
|
@@ -24,7 +24,6 @@ export const generateStartDataPayload = async (
|
|
|
24
24
|
applicationConfiguration: AuthApplicationConfig
|
|
25
25
|
): Promise<OkHiLocationManagerStartDataPayload> => {
|
|
26
26
|
const payload: any = {};
|
|
27
|
-
payload.url = getFrameUrl(applicationConfiguration);
|
|
28
27
|
payload.style = !props.theme
|
|
29
28
|
? undefined
|
|
30
29
|
: {
|
package/src/OkCollect/app.json
CHANGED