update
This commit is contained in:
@@ -6,10 +6,10 @@
|
||||
<title>Planer2</title>
|
||||
<script>
|
||||
(function () {
|
||||
var stored = localStorage.getItem('darkMode')
|
||||
var dark = stored === null
|
||||
? window.matchMedia('(prefers-color-scheme: dark)').matches
|
||||
: stored === 'true'
|
||||
var modus = localStorage.getItem('darkModus')
|
||||
var dark = modus === 'hell' || modus === 'dunkel'
|
||||
? modus === 'dunkel'
|
||||
: window.matchMedia('(prefers-color-scheme: dark)').matches
|
||||
if (dark) document.documentElement.classList.add('dark')
|
||||
})()
|
||||
</script>
|
||||
|
||||
@@ -10,7 +10,15 @@ import { offen as pruefungOffen, starte as startePruefung, schliesse as schliess
|
||||
const projekte = ref([])
|
||||
const aktivesProjekt = ref(null)
|
||||
const meldung = ref('')
|
||||
const dunkel = ref(document.documentElement.classList.contains('dark'))
|
||||
|
||||
// Drei Modi im Kreis; „auto" folgt der Systemeinstellung
|
||||
const MODI = ['auto', 'hell', 'dunkel']
|
||||
const ICONS = { auto: 'A', hell: '☀', dunkel: '☾' }
|
||||
const TITEL = { auto: 'Systemeinstellung', hell: 'Hellmodus', dunkel: 'Dunkelmodus' }
|
||||
|
||||
const systemDunkel = window.matchMedia('(prefers-color-scheme: dark)')
|
||||
const gemerkterModus = localStorage.getItem('darkModus')
|
||||
const modus = ref(MODI.includes(gemerkterModus) ? gemerkterModus : 'auto')
|
||||
|
||||
async function ladeProjekte() {
|
||||
meldung.value = ''
|
||||
@@ -40,12 +48,20 @@ watch(aktivesProjekt, name => {
|
||||
else localStorage.removeItem('aktivesProjekt')
|
||||
})
|
||||
|
||||
function wechsleDarkMode() {
|
||||
dunkel.value = !dunkel.value
|
||||
document.documentElement.classList.toggle('dark', dunkel.value)
|
||||
localStorage.setItem('darkMode', dunkel.value)
|
||||
function wendeAn() {
|
||||
const dunkel = modus.value === 'auto' ? systemDunkel.matches : modus.value === 'dunkel'
|
||||
document.documentElement.classList.toggle('dark', dunkel)
|
||||
}
|
||||
|
||||
function wechsleDarkMode() {
|
||||
modus.value = MODI[(MODI.indexOf(modus.value) + 1) % MODI.length]
|
||||
localStorage.setItem('darkModus', modus.value)
|
||||
wendeAn()
|
||||
}
|
||||
|
||||
// Systemwechsel wirkt sofort, solange „auto" aktiv ist
|
||||
systemDunkel.addEventListener('change', () => { if (modus.value === 'auto') wendeAn() })
|
||||
|
||||
onMounted(async () => {
|
||||
await ladeProjekte()
|
||||
const gemerkt = localStorage.getItem('aktivesProjekt')
|
||||
@@ -70,8 +86,8 @@ onMounted(async () => {
|
||||
title="Karten prüfen"
|
||||
@click="startePruefung(aktivesProjekt)"
|
||||
>⌾</button>
|
||||
<button class="icon-knopf" :title="dunkel ? 'Hellmodus' : 'Dunkelmodus'" @click="wechsleDarkMode">
|
||||
{{ dunkel ? '☀' : '☾' }}
|
||||
<button class="icon-knopf" :title="TITEL[modus]" @click="wechsleDarkMode">
|
||||
{{ ICONS[modus] }}
|
||||
</button>
|
||||
</SeitenLeiste>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user