feat(ui): Vollbild/Präsentation im Header + Passwortfeld mit Auge & grösseren Punkten (v1.8.7)

- Topbar: Schnellzugriff-Buttons Vollbild und Präsentationsmodus direkt neben Speichern
  (Desktop; mobil weiterhin im ⋮-Menü)
- Login: Passwortfeld mit Anzeigen/Verbergen-Umschalter (Auge) und grösseren, gespreizten
  Punkten (text-xl tracking) + sanfter Übergang

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Pepe Ziberi
2026-07-23 21:00:43 +02:00
parent f9ad00a7e7
commit 4a59b5ca0b
3 changed files with 46 additions and 11 deletions

View File

@@ -248,6 +248,28 @@ export function Topbar({
{isSaving ? <Loader2 className="w-5 h-5 animate-spin" /> : <Save className="w-5 h-5" />}
</Button>
{/* Schnellzugriff: Vollbild + Präsentationsmodus (Desktop; mobil im ⋮-Menü) */}
<Button
variant="outline"
size="icon"
className="hidden md:flex h-10 w-10 shrink-0"
onClick={onToggleFullscreen}
title={isFullscreen ? 'Vollbild verlassen' : 'Vollbild'}
>
{isFullscreen ? <Minimize className="w-5 h-5" /> : <Maximize className="w-5 h-5" />}
</Button>
{onTogglePresentationLock && (
<Button
variant="outline"
size="icon"
className={`hidden md:flex h-10 w-10 shrink-0 ${presentationLocked ? 'border-amber-500 text-amber-600 dark:text-amber-400' : ''}`}
onClick={onTogglePresentationLock}
title={presentationLocked ? 'Präsentation: gesperrt (zum Entsperren tippen)' : 'Präsentationsmodus'}
>
{presentationLocked ? <Lock className="w-5 h-5" /> : <Unlock className="w-5 h-5" />}
</Button>
)}
{/* Freigeben — nur sichtbar, solange ich den Bearbeitungs-Lock halte.
Speichert und gibt die Karte für andere frei. Grün = ich bin am Zeichnen. */}
{isEditingByMe && onStopEditing && (