diff --git a/src/lib/components/immersive/ImmersiveHeader.svelte b/src/lib/components/immersive/ImmersiveHeader.svelte index 3046c7489..993ede9d2 100644 --- a/src/lib/components/immersive/ImmersiveHeader.svelte +++ b/src/lib/components/immersive/ImmersiveHeader.svelte @@ -330,6 +330,8 @@ min-width: 100px; height: 100%; cursor: grab; + -webkit-app-region: drag; + app-region: drag; } .mode-toggle { @@ -376,6 +378,8 @@ background: rgba(0, 0, 0, 0.5); border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 12px; + -webkit-app-region: no-drag; + app-region: no-drag; } .tab { @@ -474,6 +478,8 @@ display: flex; justify-content: flex-end; gap: 8px; + -webkit-app-region: no-drag; + app-region: no-drag; } /* Expandable Window Controls */ diff --git a/src/lib/components/immersive/ImmersivePlayer.svelte b/src/lib/components/immersive/ImmersivePlayer.svelte index b21d757ad..ae9eed053 100644 --- a/src/lib/components/immersive/ImmersivePlayer.svelte +++ b/src/lib/components/immersive/ImmersivePlayer.svelte @@ -379,6 +379,7 @@ {#if isOpen} +
+ +
+ {#if activeFocusTab !== 'visualizer' && activeFocusTab !== 'oscilloscope' && activeFocusTab !== 'spectral-ribbon' && activeFocusTab !== 'energy-bands' && activeFocusTab !== 'lissajous' && activeFocusTab !== 'transient-pulse'} @@ -674,6 +682,17 @@ overflow: hidden; } + .immersive-drag-region { + position: absolute; + top: 0; + left: 0; + right: 0; + height: 32px; + z-index: 15; /* Above content (1-5), below header controls (20) */ + -webkit-app-region: drag; + app-region: drag; + } + @keyframes fadeIn { from { opacity: 0; diff --git a/src/lib/i18n/locales/de.json b/src/lib/i18n/locales/de.json index c50d0152e..1b7fd34d2 100644 --- a/src/lib/i18n/locales/de.json +++ b/src/lib/i18n/locales/de.json @@ -442,8 +442,8 @@ "castToDevice": "An Gerät übertragen", "castingManage": "Casting – klicken, um zu verwalten", "miniPlayer": "Mini-Player", - "fullScreen": "Vollbild", - "exitFullScreen": "Vollbild beenden", + "fullScreen": "Immersiv-Modus", + "exitFullScreen": "Immersiv-Modus beenden", "maximize": "Maximieren", "restore": "Wiederherstellen", "minimize": "Minimieren", diff --git a/src/lib/i18n/locales/en.json b/src/lib/i18n/locales/en.json index b9ca63912..bcf5bae4d 100644 --- a/src/lib/i18n/locales/en.json +++ b/src/lib/i18n/locales/en.json @@ -457,8 +457,8 @@ "castToDevice": "Cast to device", "castingManage": "Casting - Click to manage", "miniPlayer": "Mini Player", - "fullScreen": "Full Screen", - "exitFullScreen": "Exit Full Screen", + "fullScreen": "Immersive Mode", + "exitFullScreen": "Exit Immersive Mode", "maximize": "Maximize", "restore": "Restore", "minimize": "Minimize", diff --git a/src/lib/i18n/locales/es.json b/src/lib/i18n/locales/es.json index 7db987a63..80fa2ce9d 100644 --- a/src/lib/i18n/locales/es.json +++ b/src/lib/i18n/locales/es.json @@ -457,8 +457,8 @@ "castToDevice": "Transmitir a dispositivo", "castingManage": "Transmitiendo - Clic para administrar", "miniPlayer": "Mini Reproductor", - "fullScreen": "Pantalla Completa", - "exitFullScreen": "Salir de Pantalla Completa", + "fullScreen": "Modo Inmersivo", + "exitFullScreen": "Salir del Modo Inmersivo", "maximize": "Maximizar", "restore": "Restaurar", "minimize": "Minimizar", diff --git a/src/lib/i18n/locales/fr.json b/src/lib/i18n/locales/fr.json index 4e1b05148..abd5b530a 100644 --- a/src/lib/i18n/locales/fr.json +++ b/src/lib/i18n/locales/fr.json @@ -442,8 +442,8 @@ "castToDevice": "Caster vers un appareil", "castingManage": "Casting - Cliquez pour gérer", "miniPlayer": "Mini lecteur", - "fullScreen": "Plein écran", - "exitFullScreen": "Quitter le plein écran", + "fullScreen": "Mode Immersif", + "exitFullScreen": "Quitter le Mode Immersif", "maximize": "Agrandir", "restore": "Restaurer", "minimize": "Réduire",