Reset-Knopf: Leseposition beider Ansichten auf den Anfang
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -52,6 +52,14 @@ function lesemodusStart() {
|
||||
emit('tab', 'lesen')
|
||||
document.documentElement.requestFullscreen?.().catch(() => {})
|
||||
}
|
||||
// Leseposition beider Ansichten auf den Anfang zurücksetzen (geräteübergreifend)
|
||||
async function zuruecksetzen() {
|
||||
if (!window.confirm('Leseposition auf den Anfang zurücksetzen?')) return
|
||||
await api.positionSetzen(props.slug, props.version, { abschnitt: 'vorwort', lesemodus: 'vorwort', zuletzt: 'lesen' }).catch(() => {})
|
||||
aktiv.value = 'vorwort'
|
||||
lese.value?.scrollTo({ top: 0 })
|
||||
navAuf.value = false
|
||||
}
|
||||
function lesemodusEnde() {
|
||||
emit('tab', 'buch')
|
||||
if (document.fullscreenElement) document.exitFullscreen().catch(() => {})
|
||||
@@ -175,6 +183,7 @@ onUnmounted(() => window.removeEventListener('keydown', taste))
|
||||
<div class="werkzeuge">
|
||||
<button class="klein" title="Lesemodus: Abschnitt für Abschnitt" @click="lesemodusStart" :disabled="!abschnitte.length">Lesen ▶</button>
|
||||
<a class="knopf klein sekundaer" title="Kernerkenntnisse aller Kapitel zum Auffrischen" :href="api.kernUrl(slug, version)" target="_blank">Kern</a>
|
||||
<button class="klein sekundaer" title="Leseposition auf den Anfang zurücksetzen" @click="zuruecksetzen">Reset</button>
|
||||
<a class="knopf klein sekundaer" title="Als Markdown-Datei herunterladen" :href="api.buchMdUrl(slug, version)" download>MD</a>
|
||||
<a v-if="daten?.pdf" class="knopf klein sekundaer" title="Als PDF herunterladen" :href="api.pdfUrl(slug, version)" download>PDF</a>
|
||||
</div>
|
||||
@@ -202,6 +211,7 @@ onUnmounted(() => window.removeEventListener('keydown', taste))
|
||||
<button class="sekundaer klein" @click="navAuf = !navAuf">☰ Inhalt</button>
|
||||
<button class="klein" @click="lesemodusStart" :disabled="!abschnitte.length">Lesen ▶</button>
|
||||
<a class="knopf klein sekundaer" :href="api.kernUrl(slug, version)" target="_blank">Kern</a>
|
||||
<button class="klein sekundaer" title="Leseposition auf den Anfang zurücksetzen" @click="zuruecksetzen">Reset</button>
|
||||
<a class="knopf klein sekundaer" :href="api.buchMdUrl(slug, version)" download>MD</a>
|
||||
<a v-if="daten?.pdf" class="knopf klein sekundaer" :href="api.pdfUrl(slug, version)" download>PDF</a>
|
||||
</div>
|
||||
|
||||
@@ -47,6 +47,11 @@ function html(s) {
|
||||
}
|
||||
|
||||
function vor() { if (pos.value < screens.value.length - 1) pos.value++ }
|
||||
// Von vorn: auch die Buchansicht zurücksetzen, sonst zöge sie den Lesemodus wieder nach hinten
|
||||
async function vonVorn() {
|
||||
await api.positionSetzen(props.slug, props.version, { abschnitt: 'vorwort', lesemodus: 'vorwort', zuletzt: 'lesen' }).catch(() => {})
|
||||
pos.value = 0
|
||||
}
|
||||
function zurueck() { if (pos.value > 0) pos.value-- }
|
||||
let merkTimer = null
|
||||
watch(pos, (p) => {
|
||||
@@ -128,7 +133,7 @@ onUnmounted(() => window.removeEventListener('keydown', taste))
|
||||
<section v-else class="lm-screen ende">
|
||||
<h1>Fertig gelesen</h1>
|
||||
<p class="intro">Alle {{ gesamt }} Seiten von „{{ daten.titel }}“.</p>
|
||||
<button class="sekundaer" style="margin-top: 16px" @click="pos = 0">Von vorn</button>
|
||||
<button class="sekundaer" style="margin-top: 16px" @click="vonVorn">Von vorn</button>
|
||||
</section>
|
||||
</main>
|
||||
<footer class="lm-fuss">
|
||||
|
||||
Reference in New Issue
Block a user