This commit is contained in:
Team3
2026-07-27 07:54:09 +02:00
parent 37b9078b34
commit 37100f1b81
22 changed files with 837 additions and 21 deletions

View File

@@ -4,6 +4,8 @@ import { fetchProjekte } from './api.js'
import SeitenLeiste from './components/SeitenLeiste.vue'
import FeatureListe from './components/FeatureListe.vue'
import KontextMenue from './components/KontextMenue.vue'
import PruefPanel from './components/PruefPanel.vue'
import { offen as pruefungOffen, starte as startePruefung, schliesse as schliessePruefung } from './composables/pruefung.js'
const projekte = ref([])
const aktivesProjekt = ref(null)
@@ -29,6 +31,9 @@ function umbenannt(alt, neu) {
ladeProjekte()
}
// Prüfung gehört zum Projekt — beim Wechsel wird sie verworfen
watch(aktivesProjekt, () => { if (pruefungOffen.value) schliessePruefung() })
// Zuletzt aktives Projekt überlebt das Neuladen
watch(aktivesProjekt, name => {
if (name) localStorage.setItem('aktivesProjekt', name)
@@ -51,7 +56,7 @@ onMounted(async () => {
</script>
<template>
<div class="raster">
<div class="raster" :class="{ pruefung: pruefungOffen }">
<SeitenLeiste
:projekte="projekte"
:aktiv="aktivesProjekt"
@@ -59,6 +64,12 @@ onMounted(async () => {
@geaendert="ladeProjekte"
@umbenannt="umbenannt"
>
<button
v-if="aktivesProjekt"
class="icon-knopf"
title="Karten prüfen"
@click="startePruefung(aktivesProjekt)"
>⌾</button>
<button class="icon-knopf" :title="dunkel ? 'Hellmodus' : 'Dunkelmodus'" @click="wechsleDarkMode">
{{ dunkel ? '☀' : '☾' }}
</button>
@@ -70,6 +81,7 @@ onMounted(async () => {
<p v-else-if="!meldung" class="leer">Projekt wählen oder anlegen.</p>
</main>
<PruefPanel v-if="pruefungOffen" />
<KontextMenue />
</div>
</template>
@@ -80,6 +92,7 @@ onMounted(async () => {
grid-template-columns: 220px 1fr;
min-height: 100vh;
}
.raster.pruefung { grid-template-columns: 220px 1fr 260px; }
main {
padding: 1.2rem 1.5rem;
min-width: 0;