update
This commit is contained in:
@@ -3,13 +3,21 @@ import { onMounted, ref, watch } from 'vue'
|
||||
import { fetchProjekte } from './api.js'
|
||||
import SeitenLeiste from './components/SeitenLeiste.vue'
|
||||
import FeatureListe from './components/FeatureListe.vue'
|
||||
import KontextMenue from './components/KontextMenue.vue'
|
||||
|
||||
const projekte = ref([])
|
||||
const aktivesProjekt = ref(null)
|
||||
const meldung = ref('')
|
||||
const dunkel = ref(document.documentElement.classList.contains('dark'))
|
||||
|
||||
async function ladeProjekte() {
|
||||
projekte.value = await fetchProjekte()
|
||||
meldung.value = ''
|
||||
try {
|
||||
projekte.value = await fetchProjekte()
|
||||
} catch (e) {
|
||||
meldung.value = e.message
|
||||
return
|
||||
}
|
||||
// Auswahl verwerfen, wenn das Projekt (z. B. nach Löschen) weg ist
|
||||
if (aktivesProjekt.value && !projekte.value.some(p => p.name === aktivesProjekt.value)) {
|
||||
aktivesProjekt.value = null
|
||||
@@ -57,9 +65,12 @@ onMounted(async () => {
|
||||
</SeitenLeiste>
|
||||
|
||||
<main>
|
||||
<FeatureListe v-if="aktivesProjekt" :projekt="aktivesProjekt" @geaendert="ladeProjekte" />
|
||||
<p v-else class="leer">Projekt wählen oder anlegen.</p>
|
||||
<p v-if="meldung" class="meldung">{{ meldung }}</p>
|
||||
<FeatureListe v-if="aktivesProjekt" :projekt="aktivesProjekt" />
|
||||
<p v-else-if="!meldung" class="leer">Projekt wählen oder anlegen.</p>
|
||||
</main>
|
||||
|
||||
<KontextMenue />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user