This commit is contained in:
Team3
2026-06-06 22:30:14 +02:00
parent 80b964fef4
commit 07b2338e67
5 changed files with 108 additions and 1 deletions

View File

@@ -1,6 +1,6 @@
<script setup>
import { ref, computed, onMounted, onUnmounted, nextTick } from 'vue'
import { fetchGuides, fetchTopics, createTopic as apiCreateTopic, deleteTopic as apiDeleteTopic, createGuide as apiCreate, deleteGuide, cancelGuide as apiCancel, fetchBausteineStatus, fetchActiveBausteine, createBausteine as apiCreateBausteine, cancelBausteine as apiCancelBausteine, deleteBausteine as apiDeleteBausteine, fetchProjects, deleteProject as apiDeleteProject, fetchProviders } from './api.js'
import { fetchGuides, fetchTopics, createTopic as apiCreateTopic, deleteTopic as apiDeleteTopic, createGuide as apiCreate, deleteGuide, cancelGuide as apiCancel, fetchBausteineStatus, fetchActiveBausteine, createBausteine as apiCreateBausteine, cancelBausteine as apiCancelBausteine, deleteBausteine as apiDeleteBausteine, fetchProjects, deleteProject as apiDeleteProject, fetchProviders, fetchStats } from './api.js'
import TopicSidebar from './components/TopicSidebar.vue'
import TopicDetail from './components/TopicDetail.vue'
@@ -21,6 +21,15 @@ const bausteine = ref({ ...EMPTY_BAUSTEINE })
const activeBausteine = ref([])
const provider = ref(localStorage.getItem('provider') || 'claude')
const providers = ref([])
const stats = ref(null)
async function loadStats() {
try {
stats.value = await fetchStats()
} catch (e) {
console.error('Fehler beim Laden der Statistik:', e)
}
}
function setProvider(id) {
provider.value = id
@@ -112,6 +121,7 @@ async function loadTopics() {
async function loadGuides() {
try {
guides.value = await fetchGuides()
loadStats()
} catch (e) {
console.error('Fehler beim Laden:', e)
}
@@ -288,6 +298,7 @@ onUnmounted(() => {
:topics="topics"
:projects="projectNames"
:selectedTopic="selectedTopic"
:stats="stats"
:doneByFormat="doneByFormat"
:latestByFormat="latestByFormat"
:allGuides="guides"
@@ -318,6 +329,7 @@ onUnmounted(() => {
:previewGuide="previewGuide"
:dark="darkMode"
:provider="provider"
@progressChanged="loadStats"
/>
<div v-else class="empty-main">
<p>Thema in der Sidebar anlegen oder auswählen.</p>