diff --git a/webui/src/App.vue b/webui/src/App.vue index 824ed04e6..d01afe2ac 100644 --- a/webui/src/App.vue +++ b/webui/src/App.vue @@ -14,8 +14,10 @@ export default { ...mapGetters('core', { coreVersion: 'version' }) }, watch: { - '$q.dark.isActive' (val) { - localStorage.setItem('traefik-dark', val) + '$q.dark.mode' (val) { + if (val !== null) { + localStorage.setItem('traefik-dark', val) + } } }, beforeCreate () { @@ -25,7 +27,15 @@ export default { // debug console.log('Quasar -> ', this.$q.version) - this.$q.dark.set(localStorage.getItem('traefik-dark') === 'true') + // Get stored theme or default to 'auto' + const storedTheme = localStorage.getItem('traefik-dark') + if (storedTheme === 'true') { + this.$q.dark.set(true) + } else if (storedTheme === 'false') { + this.$q.dark.set(false) + } else { + this.$q.dark.set('auto') + } } } diff --git a/webui/src/components/_commons/NavBar.vue b/webui/src/components/_commons/NavBar.vue index 8a618b9d4..ed3453075 100644 --- a/webui/src/components/_commons/NavBar.vue +++ b/webui/src/components/_commons/NavBar.vue @@ -91,9 +91,9 @@ flat no-caps icon="invert_colors" - :label="`${$q.dark.isActive ? 'Light' : 'Dark'} theme`" + :label="themeLabel" class="btn-menu" - @click="$q.dark.toggle()" + @click="cycleTheme" />