This commit is contained in:
team3
2026-06-18 16:45:33 +02:00
parent 9c0f622e0c
commit d067cb8b54
27 changed files with 329 additions and 327 deletions

View File

@@ -26,6 +26,7 @@ const provider = ref(localStorage.getItem('provider') || 'claude')
const providers = ref([])
const folders = ref({ projekt: [], uni: [] }) // Ordner für die Quellen-Auswahl
const bausteineView = ref(false) // Bausteine-Übersicht im Hauptbereich
const ansichtModus = ref('kompakt') // kompakt | erklärend — je Thema, Default kompakt
const stats = ref(null)
const fortschritt = ref({})
const locks = ref({}) // Sperr-Gründe pro Format (Backend = einzige Regel-Quelle)
@@ -201,6 +202,7 @@ function selectTopic(topic) {
elementsView.value = false
bausteineView.value = false
elementOpenId.value = null
ansichtModus.value = localStorage.getItem('ansicht_' + topic) || 'kompakt'
localStorage.setItem('lastTopic', topic)
loadBausteine()
nextTick(autoPreview)
@@ -268,6 +270,15 @@ async function handleUpdateQuelle({ topic, type, ort, spec }) {
await loadBausteine() // Schritt-Anzeige folgt ggf. der neuen Quelle (z.B. Link → „Quelle laden")
}
function setAnsicht(modus) {
ansichtModus.value = modus
if (selectedTopic.value) localStorage.setItem('ansicht_' + selectedTopic.value, modus)
}
function toggleAnsicht() {
setAnsicht(ansichtModus.value === 'kompakt' ? 'erklärend' : 'kompakt')
}
function handleOpenBausteineView() {
if (!selectedTopic.value) return
bausteineView.value = true
@@ -384,8 +395,10 @@ onMounted(async () => {
:provider="provider"
:providers="providers"
:folders="folders"
:ansichtModus="ansichtModus"
@setProvider="setProvider"
@toggleDark="toggleDark"
@toggleAnsicht="toggleAnsicht"
@select="selectTopic"
@create="createTopic"
@createThema="handleCreateThema"
@@ -424,7 +437,9 @@ onMounted(async () => {
:elementsOpen="elementsOpen"
:doneByFormat="doneByFormat"
:themaAbgeschlossen="!!fortschritt.abgeschlossen"
:ansichtModus="ansichtModus"
@progressChanged="loadStats(); loadBausteine()"
@setAnsicht="setAnsicht"
/>
<div v-else class="empty-main">
<p>Thema in der Sidebar anlegen oder auswählen.</p>