diff --git a/src/App.vue b/src/App.vue index 424df362..adc2e464 100644 --- a/src/App.vue +++ b/src/App.vue @@ -71,7 +71,7 @@ export default defineComponent({ loadConfiguration = async () => { try { clearTimeout(loadingTimeout); - showSplash(); + showSplash(!loadingAttempts.value); loading.value = true; await store.dispatch(ActionTypes.STOP_UPDATES, undefined); @@ -186,6 +186,7 @@ export default defineComponent({ return; } + loadingAttempts.value = 0; window.history.replaceState({}, '', newServer.id); loadConfiguration(); }, {deep: true}); diff --git a/src/util/splash.ts b/src/util/splash.ts index f356e6a9..31b9b6b8 100644 --- a/src/util/splash.ts +++ b/src/util/splash.ts @@ -21,21 +21,23 @@ const app = document.getElementById('app'), splashErrorMessage = document.getElementById('splash__error-message'), splashRetry = document.getElementById('splash__error-retry'); -export const showSplash = function() { +export const showSplash = function(reset: boolean) { if(!splash || !app) { return; } - if(splashError) { - splashError.setAttribute('aria-hidden', 'true'); - } + if(reset) { + if(splashError) { + splashError.setAttribute('aria-hidden', 'true'); + } - if(splashSpinner) { - splashSpinner.style.visibility = 'visible'; - } + if(splashSpinner) { + splashSpinner.style.visibility = 'visible'; + } - if(splashRetry) { - splashRetry.hidden = true; + if(splashRetry) { + splashRetry.hidden = true; + } } splash.hidden = false;