allow for latLon only in query string #154

This commit is contained in:
Matt Walsh
2025-10-21 04:12:12 +00:00
parent 93af84cbd8
commit 650dda7b61

View File

@@ -106,7 +106,7 @@ const init = async () => {
// attempt to parse the url parameters // attempt to parse the url parameters
const parsedParameters = parseQueryString(); const parsedParameters = parseQueryString();
const loadFromParsed = parsedParameters.latLonQuery && parsedParameters.latLon; const loadFromParsed = !!parsedParameters.latLon;
// Auto load the parsed parameters and fall back to the previous query // Auto load the parsed parameters and fall back to the previous query
const query = parsedParameters.latLonQuery ?? localStorage.getItem('latLonQuery'); const query = parsedParameters.latLonQuery ?? localStorage.getItem('latLonQuery');
@@ -120,10 +120,20 @@ const init = async () => {
if (geometry) { if (geometry) {
doRedirectToGeometry(geometry); doRedirectToGeometry(geometry);
} }
} else if (query && latLon && !fromGPS) { } else if (latLon && !fromGPS) {
const txtAddress = document.querySelector(TXT_ADDRESS_SELECTOR); // update in-page search box if using cached data, or parsed parameter
txtAddress.value = query; if ((query && !loadFromParsed) || (parsedParameters.latLonQuery && loadFromParsed)) {
loadData(JSON.parse(latLon)); const txtAddress = document.querySelector(TXT_ADDRESS_SELECTOR);
txtAddress.value = query;
}
// use lat-long lookup if that's all that was provided in the query string
if (loadFromParsed && parsedParameters.latLon && !parsedParameters.latLonQuery) {
const { lat, lon } = JSON.parse(latLon);
getForecastFromLatLon(lat, lon, true);
} else {
// otherwise use pre-stored data
loadData(JSON.parse(latLon));
}
} }
if (fromGPS) { if (fromGPS) {
btnGetGpsClick(); btnGetGpsClick();