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')
|
emit('tab', 'lesen')
|
||||||
document.documentElement.requestFullscreen?.().catch(() => {})
|
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() {
|
function lesemodusEnde() {
|
||||||
emit('tab', 'buch')
|
emit('tab', 'buch')
|
||||||
if (document.fullscreenElement) document.exitFullscreen().catch(() => {})
|
if (document.fullscreenElement) document.exitFullscreen().catch(() => {})
|
||||||
@@ -175,6 +183,7 @@ onUnmounted(() => window.removeEventListener('keydown', taste))
|
|||||||
<div class="werkzeuge">
|
<div class="werkzeuge">
|
||||||
<button class="klein" title="Lesemodus: Abschnitt für Abschnitt" @click="lesemodusStart" :disabled="!abschnitte.length">Lesen ▶</button>
|
<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>
|
<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 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>
|
<a v-if="daten?.pdf" class="knopf klein sekundaer" title="Als PDF herunterladen" :href="api.pdfUrl(slug, version)" download>PDF</a>
|
||||||
</div>
|
</div>
|
||||||
@@ -202,6 +211,7 @@ onUnmounted(() => window.removeEventListener('keydown', taste))
|
|||||||
<button class="sekundaer klein" @click="navAuf = !navAuf">☰ Inhalt</button>
|
<button class="sekundaer klein" @click="navAuf = !navAuf">☰ Inhalt</button>
|
||||||
<button class="klein" @click="lesemodusStart" :disabled="!abschnitte.length">Lesen ▶</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>
|
<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 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>
|
<a v-if="daten?.pdf" class="knopf klein sekundaer" :href="api.pdfUrl(slug, version)" download>PDF</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -47,6 +47,11 @@ function html(s) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function vor() { if (pos.value < screens.value.length - 1) pos.value++ }
|
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-- }
|
function zurueck() { if (pos.value > 0) pos.value-- }
|
||||||
let merkTimer = null
|
let merkTimer = null
|
||||||
watch(pos, (p) => {
|
watch(pos, (p) => {
|
||||||
@@ -128,7 +133,7 @@ onUnmounted(() => window.removeEventListener('keydown', taste))
|
|||||||
<section v-else class="lm-screen ende">
|
<section v-else class="lm-screen ende">
|
||||||
<h1>Fertig gelesen</h1>
|
<h1>Fertig gelesen</h1>
|
||||||
<p class="intro">Alle {{ gesamt }} Seiten von „{{ daten.titel }}“.</p>
|
<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>
|
</section>
|
||||||
</main>
|
</main>
|
||||||
<footer class="lm-fuss">
|
<footer class="lm-fuss">
|
||||||
|
|||||||
Reference in New Issue
Block a user