update
This commit is contained in:
1
frontend/dist/assets/index-CzKrDvqu.css
vendored
1
frontend/dist/assets/index-CzKrDvqu.css
vendored
File diff suppressed because one or more lines are too long
1
frontend/dist/assets/index-Dm2vsYsS.css
vendored
Normal file
1
frontend/dist/assets/index-Dm2vsYsS.css
vendored
Normal file
File diff suppressed because one or more lines are too long
64
frontend/dist/assets/index-PAbaEjVj.js
vendored
64
frontend/dist/assets/index-PAbaEjVj.js
vendored
File diff suppressed because one or more lines are too long
64
frontend/dist/assets/index-Yruju_eh.js
vendored
Normal file
64
frontend/dist/assets/index-Yruju_eh.js
vendored
Normal file
File diff suppressed because one or more lines are too long
4
frontend/dist/index.html
vendored
4
frontend/dist/index.html
vendored
@@ -13,8 +13,8 @@
|
|||||||
if (dark) document.documentElement.classList.add('dark')
|
if (dark) document.documentElement.classList.add('dark')
|
||||||
})()
|
})()
|
||||||
</script>
|
</script>
|
||||||
<script type="module" crossorigin src="/assets/index-PAbaEjVj.js"></script>
|
<script type="module" crossorigin src="/assets/index-Yruju_eh.js"></script>
|
||||||
<link rel="stylesheet" crossorigin href="/assets/index-CzKrDvqu.css">
|
<link rel="stylesheet" crossorigin href="/assets/index-Dm2vsYsS.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
|
|||||||
@@ -57,8 +57,9 @@ function toggleDark() {
|
|||||||
⌂ Übersicht
|
⌂ Übersicht
|
||||||
</a>
|
</a>
|
||||||
<a v-for="p in projekte" :key="p.name" href="#"
|
<a v-for="p in projekte" :key="p.name" href="#"
|
||||||
:class="{ aktiv: aktivesProjekt === p.name, gestoert: p.fehler || !p.hat_planer }"
|
:class="{ aktiv: aktivesProjekt === p.name,
|
||||||
@click.prevent="p.hat_planer && oeffne(p.name)">
|
gestoert: p.fehler || (!p.hat_planer && !p.scan_laeuft) }"
|
||||||
|
@click.prevent="(p.hat_planer || p.scan_laeuft) && oeffne(p.name)">
|
||||||
{{ p.name }}
|
{{ p.name }}
|
||||||
<span v-if="p.scan_laeuft" class="punkt gelb" title="Scan läuft"></span>
|
<span v-if="p.scan_laeuft" class="punkt gelb" title="Scan läuft"></span>
|
||||||
<span v-else-if="p.drift?.length" class="punkt gelb" title="Drift"></span>
|
<span v-else-if="p.drift?.length" class="punkt gelb" title="Drift"></span>
|
||||||
|
|||||||
@@ -38,19 +38,28 @@ async function statusTick() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const poll = usePolling(statusTick, () => scanLaeuft.value, 2000)
|
const poll = usePolling(statusTick, () => scanLaeuft.value, 2000)
|
||||||
onMounted(async () => {
|
async function init() {
|
||||||
await laden()
|
projekt.value = null
|
||||||
|
fehler.value = ''
|
||||||
await statusTick()
|
await statusTick()
|
||||||
|
await laden()
|
||||||
if (scanLaeuft.value) poll.start()
|
if (scanLaeuft.value) poll.start()
|
||||||
})
|
}
|
||||||
watch(() => props.name, async () => { projekt.value = null; await laden() })
|
onMounted(init)
|
||||||
|
watch(() => props.name, init)
|
||||||
|
|
||||||
const kernHtml = computed(() =>
|
const kernHtml = computed(() =>
|
||||||
projekt.value ? marked.parse(projekt.value.kern.text || '') : '')
|
projekt.value ? marked.parse(projekt.value.kern.text || '') : '')
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<p v-if="fehler" class="fehler">{{ fehler }}</p>
|
<!-- Erst-Scan: noch kein .planer/, aber Lauf aktiv → nur Fortschritt zeigen -->
|
||||||
|
<div v-if="!projekt && scanLaeuft" class="erstscan">
|
||||||
|
<h2>{{ name }}</h2>
|
||||||
|
<p class="laden">Erster Scan läuft — die Ansicht lädt automatisch, sobald er fertig ist.</p>
|
||||||
|
<ScanSeitenleiste :name="name" />
|
||||||
|
</div>
|
||||||
|
<p v-else-if="fehler" class="fehler">{{ fehler }}</p>
|
||||||
<div v-else-if="projekt" class="rahmen" :class="{ mitLeiste: scanLaeuft }">
|
<div v-else-if="projekt" class="rahmen" :class="{ mitLeiste: scanLaeuft }">
|
||||||
<div>
|
<div>
|
||||||
<section class="kern karte">
|
<section class="kern karte">
|
||||||
@@ -73,6 +82,9 @@ const kernHtml = computed(() =>
|
|||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.rahmen.mitLeiste { display: grid; grid-template-columns: 1fr 300px; gap: 1.2rem; }
|
.rahmen.mitLeiste { display: grid; grid-template-columns: 1fr 300px; gap: 1.2rem; }
|
||||||
|
.erstscan { max-width: 420px; }
|
||||||
|
.erstscan h2 { margin: 0 0 0.4rem; font-size: 1.2rem; }
|
||||||
|
.erstscan .laden { margin-bottom: 1rem; }
|
||||||
.kern { margin-bottom: 1.2rem; }
|
.kern { margin-bottom: 1.2rem; }
|
||||||
.kern h2 { margin: 0 0 0.4rem; font-size: 1.2rem; }
|
.kern h2 { margin: 0 0 0.4rem; font-size: 1.2rem; }
|
||||||
.kern-text :deep(p) { margin: 0.3rem 0; color: var(--dezent); }
|
.kern-text :deep(p) { margin: 0.3rem 0; color: var(--dezent); }
|
||||||
|
|||||||
Reference in New Issue
Block a user