update
This commit is contained in:
@@ -639,7 +639,12 @@ function onPruefKey(e) {
|
|||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (e.code === 'KeyQ') { e.preventDefault(); emit('setAnsicht', props.ansicht === 'kompakt' ? 'erklärend' : 'kompakt'); return }
|
if (e.code === 'KeyQ') {
|
||||||
|
e.preventDefault()
|
||||||
|
const r = ['kompakt', 'erklärend', 'grafik']
|
||||||
|
emit('setAnsicht', r[(r.indexOf(props.ansicht) + 1) % 3])
|
||||||
|
return
|
||||||
|
}
|
||||||
if (e.code === 'KeyE') { e.preventDefault(); variantWechseln(); return }
|
if (e.code === 'KeyE') { e.preventDefault(); variantWechseln(); return }
|
||||||
if (e.key === '2') { e.preventDefault(); primaerAktion(); return }
|
if (e.key === '2') { e.preventDefault(); primaerAktion(); return }
|
||||||
// Erklären-Sondertasten
|
// Erklären-Sondertasten
|
||||||
@@ -655,6 +660,7 @@ function onPruefKey(e) {
|
|||||||
<div v-if="mode === 'full'" class="bp-ansicht">
|
<div v-if="mode === 'full'" class="bp-ansicht">
|
||||||
<button :class="{ active: ansicht === 'kompakt' }" title="Merksätze" @click="emit('setAnsicht', 'kompakt')">Kompakt</button>
|
<button :class="{ active: ansicht === 'kompakt' }" title="Merksätze" @click="emit('setAnsicht', 'kompakt')">Kompakt</button>
|
||||||
<button :class="{ active: ansicht === 'erklärend' }" title="Ausführliche Erklärung" @click="emit('setAnsicht', 'erklärend')">Erklärend</button>
|
<button :class="{ active: ansicht === 'erklärend' }" title="Ausführliche Erklärung" @click="emit('setAnsicht', 'erklärend')">Erklärend</button>
|
||||||
|
<button :class="{ active: ansicht === 'grafik' }" title="Diagramm" @click="emit('setAnsicht', 'grafik')">Grafik</button>
|
||||||
</div>
|
</div>
|
||||||
<button :class="{ active: activeTab === 'chat' }" @click="tabKlick('chat')">
|
<button :class="{ active: activeTab === 'chat' }" @click="tabKlick('chat')">
|
||||||
Chat
|
Chat
|
||||||
@@ -697,8 +703,14 @@ function onPruefKey(e) {
|
|||||||
<div v-else>
|
<div v-else>
|
||||||
<p class="bp-hint">
|
<p class="bp-hint">
|
||||||
<template v-if="amDeckel">{{ FORM_NAME[zeigeForm] }} · {{ score }}/{{ cap }} — <strong>Max</strong>.<template v-if="cap < VOLL"> Erstelle den {{ NAECHSTES_FORMAT[cap] }} für mehr.</template></template>
|
<template v-if="amDeckel">{{ FORM_NAME[zeigeForm] }} · {{ score }}/{{ cap }} — <strong>Max</strong>.<template v-if="cap < VOLL"> Erstelle den {{ NAECHSTES_FORMAT[cap] }} für mehr.</template></template>
|
||||||
<template v-else>{{ FORM_NAME[zeigeForm] }} · {{ score }}/{{ bandZiel }} · {{ modusRegel }}<span v-if="imZufall" class="bp-hint-key"> · zufällig</span><span v-else-if="zeigeForm !== 'erklaeren'" class="bp-hint-key"> · Alt+E: Schwierigkeit</span></template>
|
<template v-else>{{ FORM_NAME[zeigeForm] }} · {{ score }}/{{ bandZiel }} · {{ modusRegel }}<span v-if="imZufall" class="bp-hint-key"> · zufällig</span></template>
|
||||||
</p>
|
</p>
|
||||||
|
<button
|
||||||
|
v-if="!amDeckel && !imZufall && zeigeForm !== 'erklaeren'"
|
||||||
|
class="bp-variant"
|
||||||
|
title="Alt+E"
|
||||||
|
@click="variantWechseln"
|
||||||
|
>{{ aktSchwer ? 'Schwer' : 'Leicht' }} · wechseln</button>
|
||||||
|
|
||||||
<!-- Quiz: Frage + Mehrfachauswahl (Widget bleibt auch am Deckel — Üben ohne Punkte) -->
|
<!-- Quiz: Frage + Mehrfachauswahl (Widget bleibt auch am Deckel — Üben ohne Punkte) -->
|
||||||
<template v-if="zeigeForm === 'quiz'">
|
<template v-if="zeigeForm === 'quiz'">
|
||||||
@@ -848,7 +860,7 @@ function onPruefKey(e) {
|
|||||||
.bp-toggles button:hover { border-color: var(--border-strong); color: var(--text); }
|
.bp-toggles button:hover { border-color: var(--border-strong); color: var(--text); }
|
||||||
.bp-toggles button.active { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
|
.bp-toggles button.active { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
|
||||||
|
|
||||||
/* Ansicht-Umschalter (Kompakt/Erklärend) — segmentiert, links vor den Tabs */
|
/* Ansicht-Umschalter (Kompakt/Erklärend/Grafik) — segmentiert, links vor den Tabs */
|
||||||
.bp-ansicht { display: inline-flex; margin-right: 0.5rem; }
|
.bp-ansicht { display: inline-flex; margin-right: 0.5rem; }
|
||||||
.bp-ansicht button {
|
.bp-ansicht button {
|
||||||
padding: 0.25rem 0.6rem;
|
padding: 0.25rem 0.6rem;
|
||||||
@@ -859,10 +871,24 @@ function onPruefKey(e) {
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
.bp-ansicht button:first-child { border-radius: 999px 0 0 999px; }
|
.bp-ansicht button:first-child { border-radius: 999px 0 0 999px; }
|
||||||
.bp-ansicht button:last-child { border-radius: 0 999px 999px 0; border-left: none; }
|
.bp-ansicht button:last-child { border-radius: 0 999px 999px 0; }
|
||||||
|
.bp-ansicht button + button { border-left: none; }
|
||||||
.bp-ansicht button:hover { color: var(--text); }
|
.bp-ansicht button:hover { color: var(--text); }
|
||||||
.bp-ansicht button.active { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
|
.bp-ansicht button.active { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
|
||||||
|
|
||||||
|
/* Schwierigkeits-Umschalter (Alt+E) — eigener Button, mobil tippbar */
|
||||||
|
.bp-variant {
|
||||||
|
margin: 0 0 0.6rem;
|
||||||
|
padding: 0.2rem 0.7rem;
|
||||||
|
font-size: 0.72rem;
|
||||||
|
border: 1px solid var(--border-strong);
|
||||||
|
border-radius: 999px;
|
||||||
|
background: var(--panel-soft);
|
||||||
|
color: var(--text-muted);
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.bp-variant:hover { border-color: var(--accent); color: var(--text); }
|
||||||
|
|
||||||
.bp-chip {
|
.bp-chip {
|
||||||
font-size: 0.7rem;
|
font-size: 0.7rem;
|
||||||
padding: 0 0.35rem;
|
padding: 0 0.35rem;
|
||||||
|
|||||||
Reference in New Issue
Block a user