1
0
Fork 0

Add auto webui theme option and default to it

This commit is contained in:
Kuba 2025-01-23 03:36:04 -05:00 committed by GitHub
parent 261e4395f3
commit ef887332c2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 33 additions and 6 deletions

View file

@ -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"
/>
<q-btn
stretch
@ -187,6 +187,12 @@ export default defineComponent({
},
disableDashboardAd () {
return this.coreVersion.disableDashboardAd
},
themeLabel () {
const mode = this.$q.dark.mode
if (mode === false) return 'Light theme'
if (mode === true) return 'Dark theme'
return 'Auto theme'
}
},
watch: {
@ -217,7 +223,18 @@ export default defineComponent({
this.getVersion()
},
methods: {
...mapActions('core', { getVersion: 'getVersion' })
...mapActions('core', { getVersion: 'getVersion' }),
cycleTheme () {
const currentMode = this.$q.dark.mode
let newMode
if (currentMode === 'auto') newMode = false
else if (currentMode === false) newMode = true
else newMode = 'auto'
this.$q.dark.set(newMode)
localStorage.setItem('traefik-dark', newMode)
}
}
})
</script>