a simple web player for subsonic tinysub.devins.page
subsonic navidrome javascript
11
fork

Configure Feed

Select the types of activity you want to include in your feed.

refactor: move logout button to settings

to prevent users from accidentally logging out and clearing all their settings and cache and blablabla

intergrav 7319b1be 8378abef

+6 -7
+3 -4
src/index.html
··· 102 102 value="128" 103 103 /> 104 104 </div> 105 + <div class="settings-group"> 106 + <button id="logout-settings-btn">logout</button> 107 + </div> 105 108 <button id="close-settings-btn">close</button> 106 109 </div> 107 110 </div> ··· 187 190 <button id="settings-btn" aria-label="settings"> 188 191 <img src="static/famfamfam-silk/cog.png" alt="settings" /> 189 192 <span>settings</span> 190 - </button> 191 - <button id="logout-btn" aria-label="logout"> 192 - <img src="static/famfamfam-silk/door_out.png" alt="logout" /> 193 - <span>logout</span> 194 193 </button> 195 194 </footer> 196 195
-1
src/js/constants.js
··· 51 51 NEXT_BTN: "next-btn", 52 52 PROGRESS: "progress", 53 53 TIME_DISPLAY: "time-display", 54 - LOGOUT_BTN: "logout-btn", 55 54 SHUFFLE_BTN: "shuffle-btn", 56 55 CLEAR_BTN: "clear-btn", 57 56 SECTION_TOGGLE: "section-toggle",
-1
src/js/events.js
··· 193 193 e.preventDefault(); 194 194 handleLogin(); 195 195 }); 196 - ui.logoutBtn.addEventListener("click", handleLogout); 197 196 198 197 // audio playback controls and info display 199 198 ["play", "pause"].forEach((event) =>
+3
src/js/settings.js
··· 88 88 triggerQueueRefresh(); 89 89 }); 90 90 }); 91 + 92 + const logoutBtn = document.getElementById("logout-settings-btn"); 93 + logoutBtn.addEventListener("click", handleLogout); 91 94 } 92 95 93 96 // trigger refresh of queue and library when art sizes change
-1
src/js/state.js
··· 44 44 nextBtn: document.getElementById(DOM_IDS.NEXT_BTN), 45 45 progress: document.getElementById(DOM_IDS.PROGRESS), 46 46 timeDisplay: document.getElementById(DOM_IDS.TIME_DISPLAY), 47 - logoutBtn: document.getElementById(DOM_IDS.LOGOUT_BTN), 48 47 settingsBtn: document.getElementById("settings-btn"), 49 48 sectionToggles: document.querySelectorAll(`.${DOM_IDS.SECTION_TOGGLE}`), 50 49 shuffleBtn: document.getElementById(DOM_IDS.SHUFFLE_BTN),