From 7d30fe9e7c818978ac9803b7077ec79e7d53d774 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dieter=20Schl=C3=BCter?= Date: Sun, 21 Jun 2026 01:10:51 +0200 Subject: [PATCH] =?UTF-8?q?ui(tts):=20Ton-Presets=20=E2=80=94=20Schnell=20?= =?UTF-8?q?(piper),=20Hohe=20Qualit=C3=A4t=20(chatterbox),=20Cloud=20(open?= =?UTF-8?q?router)=20zur=C3=BCck?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Vorlesen-Presets wieder nach Tempo/Qualität benannt: 📱 Im Gerät · ⚡ Schnell · ✨ Hohe Qualität · ☁ Cloud. Cloud (OpenRouter) wieder als sichtbarer Knopf. - syncPresetUI: exakte Markierung (openrouter hat eigenen Knopf, kein Sonderfall mehr). - Doku §5.1.2 angepasst. Co-Authored-By: Claude Opus 4.8 --- BEDIENUNGSANLEITUNG.md | 2 +- app/web/app.js | 3 +-- app/web/index.html | 19 +++++++++++++------ 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/BEDIENUNGSANLEITUNG.md b/BEDIENUNGSANLEITUNG.md index 1c5be23..de4ae5b 100644 --- a/BEDIENUNGSANLEITUNG.md +++ b/BEDIENUNGSANLEITUNG.md @@ -800,7 +800,7 @@ https://va.beispiel.de/ ← remote über Reverse-Proxy (alles, inkl. Mikr | Element | Funktion | |---------|----------| -| **Vorlesen** | Wie wird die Antwort vorgelesen? `📱 Im Gerät` = das Handy liest selbst vor (kein Server-Audio → spart Daten) · `☁ Server` = piper (lokal, zuverlässig) · `✨ Beste Qualität` = chatterbox (natürliche Stimme). „Im Gerät" erscheint nur, wo der Browser es unterstützt. | +| **Vorlesen** | Wie wird die Antwort vorgelesen? `📱 Im Gerät` = das Handy liest selbst vor (kein Server-Audio → spart Daten; fällt auf Server zurück, wenn der Browser keine Stimmen hat) · `⚡ Schnell` = piper (lokal) · `✨ Hohe Qualität` = chatterbox (natürliche Stimme) · `☁ Cloud` = OpenRouter (Internet nötig). „Im Gerät" erscheint nur, wo der Browser es unterstützt. | | **✎ Neues Gespräch** | Frische Sitzung (Verlauf zurücksetzen) | | **🌙 Tag-/Nachtmodus** | Heller/dunkler Modus; folgt sonst dem Betriebssystem | | **Konto** | „Angemeldet als …", **⚙ Admin** (nur Admins → § 7.5), **Abmelden** | diff --git a/app/web/app.js b/app/web/app.js index 95c7cd3..d3d6ae5 100644 --- a/app/web/app.js +++ b/app/web/app.js @@ -164,8 +164,7 @@ function applyPlaybackChoice(serverProvider) { function syncPresetUI() { const val = ttsSel ? ttsSel.value : ""; document.querySelectorAll(".tts-preset").forEach((btn) => { - const active = btn.dataset.tts === val || - (val === "openrouter" && btn.dataset.tts === "chatterbox"); // Cloud -> "Beste Qualität" + const active = btn.dataset.tts === val; btn.classList.toggle("ring-2", active); btn.classList.toggle("ring-blue-500", active); btn.classList.toggle("border-blue-500", active); diff --git a/app/web/index.html b/app/web/index.html index 002d30f..7750b84 100644 --- a/app/web/index.html +++ b/app/web/index.html @@ -260,16 +260,23 @@ + @@ -318,6 +325,6 @@
- +