This commit is contained in:
team3
2026-07-10 17:14:17 +02:00
parent 58bb600ba3
commit 917b3ac702
6 changed files with 83 additions and 13 deletions

View File

@@ -92,6 +92,20 @@ async function stoppen() {
await stateLaden()
}
const transferOk = ref(false) // nur im lokalen Dev-Betrieb (Server: 403)
const uebertragung = ref('')
async function uebertragen(richtung) {
uebertragung.value = richtung === 'push' ? 'pusht' : 'pullt'
try {
fehler.value = ''
await api.transfer(topic.value, richtung)
await topicsLaden()
await stateLaden()
} catch (e) { fehler.value = String(e) }
finally { uebertragung.value = '' }
}
async function waehlen(name) {
topic.value = name
await stateLaden()
@@ -101,6 +115,7 @@ let poll = null // Fallback, falls während langer LLM-Calls keine WS-Deltas kom
onMounted(async () => {
themeAnwenden()
api.transferInfo().then((i) => { transferOk.value = i.verfuegbar }).catch(() => {})
await topicsLaden()
await stateLaden()
wsSchliessen = wsVerbinden(onWs)
@@ -163,6 +178,15 @@ function runBadge(run) {
</div>
<button @click="starten" :disabled="!topic || state?.run?.status === 'running'">Start</button>
<button class="sekundaer" @click="stoppen" :disabled="state?.run?.status !== 'running'">Stop</button>
<template v-if="transferOk">
<button class="sekundaer" title="Thema auf den Server pushen (überschreibt dort)"
:disabled="!topic || !!uebertragung || state?.run?.status === 'running'"
@click="uebertragen('push')"> Push</button>
<button class="sekundaer" title="Thema vom Server pullen (überschreibt lokal)"
:disabled="!topic || !!uebertragung || state?.run?.status === 'running'"
@click="uebertragen('pull')"> Pull</button>
<span v-if="uebertragung" class="badge blau">{{ uebertragung }}</span>
</template>
<span v-if="state?.run" class="badge" :class="runBadge(state.run).farbe">{{ runBadge(state.run).text }}</span>
<span v-if="state" class="badge">{{ tok(state.verbraucht) }} Tokens</span>
<span v-if="state?.run?.grund" class="badge gelb">{{ state.run.grund }}</span>