locationTimeout = setTimeout(() => {
if (!userLocation) {
showMessage("Please turn on your GPS.", "error", "Location required")
}
}, 5000)
Geolocation.getCurrentPosition(
(position) => {
setUserLocation(position.coords)
if (locationTimeout) clearTimeout(locationTimeout)
},
(error) => {
console.info("[getUserLocation] ERROR - ", error)
showMessage(
"Please check your permissions and your GPS connection.",
"error",
"Couldn't retrieve your location",
)
setUserLocation(null)
if (locationTimeout) clearTimeout(locationTimeout)
},
{ enableHighAccuracy: false, timeout: 20000, maximumAge: 20000 },
)
return () => {
if (locationTimeout) clearTimeout(locationTimeout)
}