diff --git a/index.html b/index.html index ff6f4c5..89f45cc 100644 --- a/index.html +++ b/index.html @@ -3915,6 +3915,35 @@ + +
+
+ Now Playing View Mode + Choose what shows when you click the album art +
+ +
+ +
+
+ Fullscreen Cover Click Action + Choose what happens when you click the cover in fullscreen mode +
+ +
@@ -4788,19 +4817,6 @@
-
-
- Now Playing View Mode - Choose what shows when you click the album art -
- -
- -
Compact Artists { }); document.getElementById('fullscreen-cover-image')?.addEventListener('click', () => { - if (window.location.hash === '#fullscreen') { - window.history.back(); - } else { - ui.closeFullscreenCover(); + const action = fullscreenCoverClickSettings.getAction(); + const overlay = document.getElementById('fullscreen-cover-overlay'); + const playerInstance = window.monochromePlayer; + + switch (action) { + case 'exit': + if (window.location.hash === '#fullscreen') { + window.history.back(); + } else { + ui.closeFullscreenCover(); + } + break; + case 'hide-ui': + if (overlay) { + overlay.classList.toggle('ui-hidden'); + const toggleBtn = document.getElementById('toggle-ui-btn'); + if (toggleBtn) { + const isUIHidden = overlay.classList.contains('ui-hidden'); + toggleBtn.classList.toggle('active', isUIHidden); + toggleBtn.classList.toggle('visible', true); + toggleBtn.title = isUIHidden ? 'Show UI' : 'Hide UI'; + } + } + break; + case 'pause-resume': + if (playerInstance) playerInstance.handlePlayPause(); + break; + case 'next': + if (playerInstance) playerInstance.playNext(); + break; + case 'previous': + if (playerInstance) playerInstance.playPrev(); + break; + case 'nothing': + break; + default: + if (window.location.hash === '#fullscreen') { + window.history.back(); + } else { + ui.closeFullscreenCover(); + } } }); diff --git a/js/settings.js b/js/settings.js index 4c09228..adc9e41 100644 --- a/js/settings.js +++ b/js/settings.js @@ -3,6 +3,7 @@ import { themeManager, lastFMStorage, nowPlayingSettings, + fullscreenCoverClickSettings, lyricsSettings, backgroundSettings, dynamicColorSettings, @@ -1986,6 +1987,15 @@ export function initializeSettings(scrobbler, player, api, ui) { }); } + // Fullscreen Cover Click Action + const fullscreenCoverClickAction = document.getElementById('fullscreen-cover-click-action'); + if (fullscreenCoverClickAction) { + fullscreenCoverClickAction.value = fullscreenCoverClickSettings.getAction(); + fullscreenCoverClickAction.addEventListener('change', (e) => { + fullscreenCoverClickSettings.setAction(e.target.value); + }); + } + // Close Modals on Navigation Toggle const closeModalsOnNavigationToggle = document.getElementById('close-modals-on-navigation-toggle'); if (closeModalsOnNavigationToggle) { diff --git a/js/storage.js b/js/storage.js index 124623b..618f40f 100644 --- a/js/storage.js +++ b/js/storage.js @@ -421,6 +421,22 @@ export const nowPlayingSettings = { }, }; +export const fullscreenCoverClickSettings = { + STORAGE_KEY: 'fullscreen-cover-click-action', + + getAction() { + try { + return localStorage.getItem(this.STORAGE_KEY) || 'exit'; + } catch { + return 'exit'; + } + }, + + setAction(action) { + localStorage.setItem(this.STORAGE_KEY, action); + }, +}; + export const lyricsSettings = { DOWNLOAD_WITH_TRACKS: 'lyrics-download-with-tracks',