Config-Dialog: macOS-Systemsteuerung-Layout mit Hotkey #10

Closed
opened 2026-07-12 00:59:03 +02:00 by frank · 0 comments
Owner

Kontext

Einstellungen liegen aktuell als eigene Seite (settings) in der Haupt-App (App.tsx) — Server-Port, AI-Konfiguration usw. sind in einfachen Panels untergebracht. Connector-Konfigurationen (Twitch, OBS, Streamer.Bot) sind auf der Seite „Verbindungen“ verteilt.

Mit wachsender Funktionalität (#1–#6) wird eine zentrale, übersichtliche Konfigurationsoberfläche nötig.

Ziel

Einen dedizierten Config-Dialog einführen, der:

  • per globalen Hotkey geöffnet werden kann (auch wenn die App im Hintergrund läuft)
  • inhaltlich nach Themen gegliedert ist (Sidebar-Navigation)
  • optisch an die macOS Systemsteuerung (System Settings) angelehnt ist

Layout (macOS-Systemsteuerung)

  • Linke Sidebar mit thematischen Kategorien und Icons
  • Rechter Detailbereich für die jeweils gewählte Kategorie
  • Kompakte, native Anmutung: abgerundete Fenster, dezente Trennlinien, klare Typografie
  • Auf macOS: wo sinnvoll Transparenz/Vibrancy (z. B. NSVisualEffectView / Tauri-Window-Effekte)

Themen (Vorschlag)

Kategorie Inhalt
Allgemein App-Name, Startverhalten, ggf. Sprache
Server Port, Host, Base-URL (bestehende settings-API)
Verbindungen Twitch, OBS, Streamer.Bot (aus Connector-Config)
KI OpenAI-kompatible Schnittstelle (bestehende ai-API)
Extensions Installierte Extensions, Sandbox-Hinweise
Tastenkürzel Hotkey für diesen Dialog + ggf. weitere Shortcuts

Weitere Kategorien können mit neuen Features ergänzt werden.

Hotkey

  • Globaler Shortcut zum Öffnen/Schließen des Dialogs (Standard z. B. Cmd+, — analog zu macOS-Apps)
  • Shortcut in den Einstellungen unter „Tastenkürzel“ änderbar
  • Tauri: global-shortcut Plugin oder Äquivalent; auf Windows/Linux plattformgerechte Defaults (Ctrl+,)

Technische Hinweise

  • Dialog als eigenes Tauri-Fenster oder modales Overlay — unabhängig von der Haupt-Navigation
  • Bestehende APIs wiederverwenden: /api/settings, /api/ai, Connector-Config-Endpunkte
  • Die bisherige settings-Seite in der Haupt-App kann entfallen oder auf einen Link „Einstellungen öffnen“ reduziert werden
  • React-Komponenten: Sidebar + Detail-Panel; CSS/Design-Tokens an macOS-Systemsteuerung orientieren

Akzeptanz

  • Config-Dialog öffnet sich per konfigurierbarem globalen Hotkey
  • Sidebar mit mindestens: Server, Verbindungen, KI, Tastenkürzel
  • Detailansicht pro Kategorie zeigt und speichert die jeweiligen Einstellungen
  • Visuelles Layout erinnert an macOS Systemsteuerung (Sidebar + Detail, Icons, Abstände)
  • Auf macOS native Fenster-Effekte wo möglich
  • Bestehende Settings-/Connector-/AI-Funktionalität bleibt erhalten (kein Feature-Verlust)
  • Hotkey-Default und Änderung in der Kategorie „Tastenkürzel“ dokumentiert bzw. konfigurierbar

Referenzen

  • Aktuelle Settings-Seite: src/App.tsx (page === "settings")
  • Backend: src-tauri/src/server/api.rs (settings_get / settings_set, ai_get / ai_set)
## Kontext Einstellungen liegen aktuell als eigene Seite (`settings`) in der Haupt-App (`App.tsx`) — Server-Port, AI-Konfiguration usw. sind in einfachen Panels untergebracht. Connector-Konfigurationen (Twitch, OBS, Streamer.Bot) sind auf der Seite „Verbindungen“ verteilt. Mit wachsender Funktionalität (#1–#6) wird eine zentrale, übersichtliche Konfigurationsoberfläche nötig. ## Ziel Einen **dedizierten Config-Dialog** einführen, der: - per **globalen Hotkey** geöffnet werden kann (auch wenn die App im Hintergrund läuft) - inhaltlich nach **Themen** gegliedert ist (Sidebar-Navigation) - optisch an die **macOS Systemsteuerung** (System Settings) angelehnt ist ### Layout (macOS-Systemsteuerung) - **Linke Sidebar** mit thematischen Kategorien und Icons - **Rechter Detailbereich** für die jeweils gewählte Kategorie - Kompakte, native Anmutung: abgerundete Fenster, dezente Trennlinien, klare Typografie - Auf macOS: wo sinnvoll Transparenz/Vibrancy (z. B. `NSVisualEffectView` / Tauri-Window-Effekte) ### Themen (Vorschlag) | Kategorie | Inhalt | |-----------|--------| | Allgemein | App-Name, Startverhalten, ggf. Sprache | | Server | Port, Host, Base-URL (bestehende `settings`-API) | | Verbindungen | Twitch, OBS, Streamer.Bot (aus Connector-Config) | | KI | OpenAI-kompatible Schnittstelle (bestehende `ai`-API) | | Extensions | Installierte Extensions, Sandbox-Hinweise | | Tastenkürzel | Hotkey für diesen Dialog + ggf. weitere Shortcuts | Weitere Kategorien können mit neuen Features ergänzt werden. ### Hotkey - Globaler Shortcut zum Öffnen/Schließen des Dialogs (Standard z. B. `Cmd+,` — analog zu macOS-Apps) - Shortcut in den Einstellungen unter „Tastenkürzel“ änderbar - Tauri: `global-shortcut` Plugin oder Äquivalent; auf Windows/Linux plattformgerechte Defaults (`Ctrl+,`) ### Technische Hinweise - Dialog als **eigenes Tauri-Fenster** oder modales Overlay — unabhängig von der Haupt-Navigation - Bestehende APIs wiederverwenden: `/api/settings`, `/api/ai`, Connector-Config-Endpunkte - Die bisherige `settings`-Seite in der Haupt-App kann entfallen oder auf einen Link „Einstellungen öffnen“ reduziert werden - React-Komponenten: Sidebar + Detail-Panel; CSS/Design-Tokens an macOS-Systemsteuerung orientieren ## Akzeptanz - [ ] Config-Dialog öffnet sich per konfigurierbarem globalen Hotkey - [ ] Sidebar mit mindestens: Server, Verbindungen, KI, Tastenkürzel - [ ] Detailansicht pro Kategorie zeigt und speichert die jeweiligen Einstellungen - [ ] Visuelles Layout erinnert an macOS Systemsteuerung (Sidebar + Detail, Icons, Abstände) - [ ] Auf macOS native Fenster-Effekte wo möglich - [ ] Bestehende Settings-/Connector-/AI-Funktionalität bleibt erhalten (kein Feature-Verlust) - [ ] Hotkey-Default und Änderung in der Kategorie „Tastenkürzel“ dokumentiert bzw. konfigurierbar ## Referenzen - Aktuelle Settings-Seite: `src/App.tsx` (`page === "settings"`) - Backend: `src-tauri/src/server/api.rs` (`settings_get` / `settings_set`, `ai_get` / `ai_set`)
frank closed this issue 2026-07-12 01:48:09 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
frank/streamertool#10
No description provided.