From 0cef282b45890e33303a2bbe417a520fa5893d8e Mon Sep 17 00:00:00 2001 From: Matt Walsh Date: Mon, 14 Nov 2022 15:26:24 -0600 Subject: [PATCH] fix progress bar and page statuses on reload --- server/scripts/index.js | 1 + server/scripts/modules/navigation.js | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/server/scripts/index.js b/server/scripts/index.js index c66df8f..ea8fce3 100644 --- a/server/scripts/index.js +++ b/server/scripts/index.js @@ -319,6 +319,7 @@ const index = (() => { }; const btnNavigateRefreshClick = () => { + navigation.resetStatuses(); LoadTwcData(); UpdateFullScreenNavigate(); diff --git a/server/scripts/modules/navigation.js b/server/scripts/modules/navigation.js index 3a67398..e4577b4 100644 --- a/server/scripts/modules/navigation.js +++ b/server/scripts/modules/navigation.js @@ -88,7 +88,7 @@ const navigation = (() => { // draw the progress canvas and hide others hideAllCanvases(); document.getElementById('loading').style.display = 'none'; - progress = new Progress(-1, 'progress'); + if (!progress) progress = new Progress(-1, 'progress'); await progress.drawCanvas(); progress.showCanvas(); @@ -289,6 +289,11 @@ const navigation = (() => { } }; + // reset all statuses to loading on all displays, used to keep the progress bar accurate during refresh + const resetStatuses = () => { + displays.forEach((display) => { display.status = STATUS.loading; }); + }; + return { init, message, @@ -301,5 +306,6 @@ const navigation = (() => { getCurrentWeather, getSun, resize, + resetStatuses, }; })();