diff --git a/src/main/java/spotify/playback/data/lyrics/GeniusLyricsScraper.java b/src/main/java/spotify/playback/data/lyrics/GeniusLyricsScraper.java index 5dadcb0..982fc06 100644 --- a/src/main/java/spotify/playback/data/lyrics/GeniusLyricsScraper.java +++ b/src/main/java/spotify/playback/data/lyrics/GeniusLyricsScraper.java @@ -140,7 +140,7 @@ private String scrapeLyrics(String url) throws IOException { .execute(); Document document = response.parse(); - Elements lyricsElements = document.select("div[class^=Lyrics__Container]"); + Elements lyricsElements = document.select("div[data-lyrics-container=true]"); StringJoiner lyricsBlocks = new StringJoiner("\n"); for (Element element : lyricsElements) { diff --git a/src/main/resources/static/js/spotify-big-picture.js b/src/main/resources/static/js/spotify-big-picture.js index d6350e5..5d3d33c 100644 --- a/src/main/resources/static/js/spotify-big-picture.js +++ b/src/main/resources/static/js/spotify-big-picture.js @@ -1829,6 +1829,9 @@ function initVisualPreferences() { : false; refreshPreference(pref, state); } + + let expertModeStateFromLocalStorage = getExpertModeStateFromLocalStorage(); + setExpertMode(expertModeStateFromLocalStorage === "true"); } else { // On first load, apply the default preset and enable the ignoreDefaultOn settings. Then force-open the settings menu applyDefaultPreset(); @@ -1927,6 +1930,15 @@ function calculateVersionHash() { return pseudoHash.toString(); } +const LOCAL_STORAGE_KEY_EXPERT_MODE = "expert_mode"; +function getExpertModeStateFromLocalStorage() { + return localStorage.getItem(LOCAL_STORAGE_KEY_EXPERT_MODE); +} + +function setExpertModeStateInLocalStorage(state) { + return localStorage.setItem(LOCAL_STORAGE_KEY_EXPERT_MODE, state); +} + function toggleVisualPreference(pref) { setVisualPreference(pref, !pref.state); } @@ -2457,9 +2469,15 @@ function setSettingsMenuState(state) { } function toggleSettingsExpertMode() { - settingsExpertMode = !settingsExpertMode; - setClass("settings-wrapper".select(), "expert", settingsExpertMode); - setClass("settings-quick-jump".select(), "show", settingsExpertMode); + let newState = !settingsExpertMode; + setExpertMode(newState); +} + +function setExpertMode(state) { + settingsExpertMode = state; + setExpertModeStateInLocalStorage(state) + setClass("settings-wrapper".select(), "expert", state); + setClass("settings-quick-jump".select(), "show", state); } function resetSettingsPrompt() { @@ -3940,7 +3958,6 @@ const PREFERENCES_PRESETS = [ "spread-timestamps", "reverse-bottom", "show-next-track", - "show-podcast-descriptions", "featured-artists-new-line" ], disabled: [