Add camera view mode setting for window or embedded display

Users can now choose how camera streams open via Settings → General → Camera:
- "New Window" (default): Opens camera in a separate browser window
- "Embedded": Shows camera as a draggable, resizable overlay on the main screen

The embedded camera viewer features:
- Draggable header to reposition anywhere on screen
- Resizable via bottom-right corner handle
- Position and size persist to localStorage across sessions
- Minimize/maximize toggle
- Auto-reconnect with exponential backoff on stream errors
- Stall detection for frozen streams

Closes #105
This commit is contained in:
maziggy
2026-01-20 12:57:22 +01:00
parent c2048d2bab
commit 3c9a03cadc
12 changed files with 9187 additions and 8681 deletions
+2
View File
@@ -593,6 +593,8 @@ export interface AppSettings {
// File Manager / Library settings
library_archive_mode: 'always' | 'never' | 'ask';
library_disk_warning_gb: number;
// Camera view settings
camera_view_mode: 'window' | 'embedded';
}
export type AppSettingsUpdate = Partial<AppSettings>;