diff --git a/server/scripts/modules/currentweather.mjs b/server/scripts/modules/currentweather.mjs index af9ff1c..8de7439 100644 --- a/server/scripts/modules/currentweather.mjs +++ b/server/scripts/modules/currentweather.mjs @@ -231,7 +231,7 @@ class CurrentWeather extends WeatherDisplay { this.setAutoReload(); if (stillWaiting) this.stillWaitingCallbacks.push(stillWaiting); return new Promise((resolve) => { - if (this.data) resolve(this.data); + if (this.data) resolve({ data: this.data, parameters: this.weatherParameters }); // data not available, put it into the data callback queue this.getDataCallbacks.push(() => resolve(this.data)); }); diff --git a/server/scripts/modules/currentweatherscroll.mjs b/server/scripts/modules/currentweatherscroll.mjs index 31992d1..a6ee798 100644 --- a/server/scripts/modules/currentweatherscroll.mjs +++ b/server/scripts/modules/currentweatherscroll.mjs @@ -84,7 +84,7 @@ const incrementInterval = (force) => { const drawScreen = async () => { // get the conditions - const data = await getCurrentWeather(); + const { data, parameters } = await getCurrentWeather(); // create a data object (empty if no valid current weather conditions) const scrollData = data || {}; @@ -100,7 +100,7 @@ const drawScreen = async () => { // if we have no current weather and no hazards, there's nothing to display if (!data && (!scrollData.hazards || scrollData.hazards.length === 0)) return; - const thisScreen = workingScreens[screenIndex](scrollData); + const thisScreen = workingScreens[screenIndex](scrollData, parameters); // update classes on the scroll area mainScroll.classList.forEach((cls) => { if (cls !== 'scroll') mainScroll.classList.remove(cls); }); diff --git a/server/scripts/modules/navigation.mjs b/server/scripts/modules/navigation.mjs index c2b99a3..5fcad9a 100644 --- a/server/scripts/modules/navigation.mjs +++ b/server/scripts/modules/navigation.mjs @@ -109,6 +109,7 @@ const getWeather = async (latLon, haveDataCallback) => { weatherParameters.forecast = point.properties.forecast; weatherParameters.forecastGridData = point.properties.forecastGridData; weatherParameters.stations = stations.features; + weatherParameters.relativeLocation = point.properties.relativeLocation.properties; // update the main process for display purposes populateWeatherParameters(weatherParameters, point.properties);