setState({ ...state, alert: false })} />\n }\n \n {\n setState({ ...state, hidePredictions: false })\n getPlacePredictions({ input: evt.target.value });\n }}\n loading={isPlacePredictionsLoading}\n />\n \n {!state?.hidePredictions && placePredictions.map((data) => {\n let { structured_formatting, reference, place_id } = data\n let { main_text, secondary_text } = structured_formatting\n return (\n \n {\n placesService?.getDetails(\n {\n placeId: place_id,\n fields: ['formatted_address', 'geometry']\n },\n (placeDetails) => {\n let center = { lat: placeDetails?.geometry?.location?.lat(), lng: placeDetails?.geometry?.location?.lng() }\n setState({ ...state, center, hidePredictions: true });\n }\n );\n\n }}>\n {main_text}\n {secondary_text}\n \n \n )\n\n })}\n \n \n \n setState({ ...state, center: e?.center })}\n // onBoundsChange={(e) => this.setState({ center: e })}\n defaultZoom={16}\n >\n \n
\n \n {\n getCurrentLocation()\n }}\n\n shadow={shadow({ color: '#00000020', radius: 8, offsetWidth: 1, offsetHeight: 1 })}\n style={{\n width: 50,\n height: 50,\n borderRadius: 50,\n backgroundColor: '#fff',\n borderColor: '#fff',\n borderWidth: 1,\n justifyContent: 'center',\n alignItems: 'center'\n }}>\n \n \n\n \n \n \n \n \n \n {\n let center = state?.center\n // setState({ ...state, loading: true });\n if (center) {\n try {\n let response = await ReverseGeocode(center)\n const address = response?.results?.[0];\n let result = constructAddressObject(address);\n let { place_id, cluster } = await CheckLocationIsServed(servingAreas, { latitude: center.lat, longitude: center.lng })\n\n if (!place_id) {\n setState({ ...state, loading: false });\n dispatch(SetAlertMessage({\n title: 'Sorry',\n msg: strings?.['We are not currently serving this area, but we are expanding very fast, check us later!'],\n alert: true,\n }))\n return\n }\n window.document.body.style.height = '100vh'\n window.document.body.style.overflow = 'auto'\n\n if ((!userData?.uid || !Object.keys(items || {})?.length) && !route?.params?.addDetails) {\n let post = {\n id: makeid(),\n geometry: result.addressObject?.geometry,\n details: result.addressObject,\n latitude: center.lat,\n longitude: center.lng,\n address: result.address\n };\n\n dispatch(SetUserDefaultLocation({ ...post, created: moment().valueOf(), place_id, cluster, anonimous: true }))\n if (items && Object?.keys(items || {})?.length) {\n dispatch(updateOrderForLocationChange({ items, defaultLocation: { ...post, created: moment().valueOf(), place_id, cluster, anonimous: true }, cluster: servingAreas?.find(rec => rec.id === cluster) }));\n }\n navigation.goBack()\n if (route?.params?.action) {\n route?.params.action();\n }\n setState({ ...state, loading: false });\n return\n }\n\n navigation.navigate('Address Details', {\n selectedRegon: {\n place_id,\n details: result.addressObject,\n latitude: center.lat,\n longitude: center.lng,\n address: result.address\n },\n })\n setState({ ...state, loading: false });\n } catch (error) {\n console.log(\"error\", error);\n window.document.body.style.height = '100vh'\n window.document.body.style.overflow = 'auto'\n navigation.navigate('Address Details', {\n selectedRegon: {\n details: {\n geometry: {\n location: {\n center\n }\n }\n },\n latitude: center.lat,\n longitude: center.lng,\n },\n })\n }\n return\n } else {\n setState({ ...state, alert: true, loading: false })\n }\n }\n } />\n\n