fix: remove dead Spotify credentials; backend URL falls back to NS_BACKEND_URL env on login and auto-login
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
abe048c4ed
commit
fdb5f16332
2 files changed
+9
-8
No files matched your search
+8
-7
@@ -42,14 +42,12 @@ async function doConnect() {
|
|||||||
const pass = document.getElementById('srv-pass').value;
|
const pass = document.getElementById('srv-pass').value;
|
||||||
const _prev = (() => { try { return JSON.parse(localStorage.getItem('ns_cfg') || '{}'); } catch { return {}; } })();
|
const _prev = (() => { try { return JSON.parse(localStorage.getItem('ns_cfg') || '{}'); } catch { return {}; } })();
|
||||||
const lfKey = document.getElementById('lastfm-key')?.value.trim() || _prev.lastfmKey || '';
|
const lfKey = document.getElementById('lastfm-key')?.value.trim() || _prev.lastfmKey || '';
|
||||||
const backUrl = (document.getElementById('backend-url')?.value.trim() || _prev.backendUrl || '').replace(/\/$/,'');
|
const backUrl = (document.getElementById('backend-url')?.value.trim() || _prev.backendUrl || window.NS_BACKEND_URL?.trim() || '').replace(/\/$/,'');
|
||||||
const spId = document.getElementById('spotify-client-id')?.value.trim() || _prev.spotifyClientId || '';
|
|
||||||
const spSecret = document.getElementById('spotify-client-secret')?.value.trim() || _prev.spotifyClientSecret || '';
|
|
||||||
if(!url || !user || !pass) { _showSetupError('Bitte Server-URL, Benutzernamen und Passwort ausfüllen.'); return; }
|
if(!url || !user || !pass) { _showSetupError('Bitte Server-URL, Benutzernamen und Passwort ausfüllen.'); return; }
|
||||||
const btn = document.getElementById('btn-connect');
|
const btn = document.getElementById('btn-connect');
|
||||||
btn.disabled=true; btn.textContent='Verbinde…';
|
btn.disabled=true; btn.textContent='Verbinde…';
|
||||||
document.getElementById('setup-error').style.display='none';
|
document.getElementById('setup-error').style.display='none';
|
||||||
S.cfg = {url, user, pass, lastfmKey:lfKey, backendUrl:backUrl, spotifyClientId:spId, spotifyClientSecret:spSecret};
|
S.cfg = {url, user, pass, lastfmKey:lfKey, backendUrl:backUrl};
|
||||||
try {
|
try {
|
||||||
await api('ping');
|
await api('ping');
|
||||||
localStorage.setItem('ns_cfg', JSON.stringify(S.cfg));
|
localStorage.setItem('ns_cfg', JSON.stringify(S.cfg));
|
||||||
@@ -66,7 +64,7 @@ function disconnect() {
|
|||||||
localStorage.removeItem('ns_cfg');
|
localStorage.removeItem('ns_cfg');
|
||||||
localStorage.removeItem('ns_last_played');
|
localStorage.removeItem('ns_last_played');
|
||||||
sessionStorage.removeItem('ns_nav');
|
sessionStorage.removeItem('ns_nav');
|
||||||
S.cfg = {url:'', user:'', pass:'', lastfmKey:'', backendUrl:'', spotifyClientId:'', spotifyClientSecret:''};
|
S.cfg = {url:'', user:'', pass:'', lastfmKey:'', backendUrl:''};
|
||||||
S.queue=[]; S.qIdx=-1; S._navStack=[]; S._navCursor=-1;
|
S.queue=[]; S.qIdx=-1; S._navStack=[]; S._navCursor=-1;
|
||||||
S.audio.pause(); S.audio.src='';
|
S.audio.pause(); S.audio.src='';
|
||||||
document.getElementById('app').style.display='none';
|
document.getElementById('app').style.display='none';
|
||||||
@@ -102,9 +100,12 @@ window.addEventListener('load', () => {
|
|||||||
S.previewAudio = document.getElementById('preview-audio');
|
S.previewAudio = document.getElementById('preview-audio');
|
||||||
|
|
||||||
const saved = localStorage.getItem('ns_cfg');
|
const saved = localStorage.getItem('ns_cfg');
|
||||||
if(saved) { S.cfg = JSON.parse(saved); startApp(); }
|
if(saved) {
|
||||||
|
S.cfg = JSON.parse(saved);
|
||||||
|
if(!S.cfg.backendUrl && window.NS_BACKEND_URL?.trim()) S.cfg.backendUrl = window.NS_BACKEND_URL.trim().replace(/\/$/,'');
|
||||||
|
startApp();
|
||||||
|
}
|
||||||
if(window.NS_SERVER_URL?.trim()) { const el=document.getElementById('srv-url'); if(el&&!el.value) el.value=window.NS_SERVER_URL.trim(); }
|
if(window.NS_SERVER_URL?.trim()) { const el=document.getElementById('srv-url'); if(el&&!el.value) el.value=window.NS_SERVER_URL.trim(); }
|
||||||
if(window.NS_BACKEND_URL?.trim()) { const el=document.getElementById('backend-url'); if(el&&!el.value) el.value=window.NS_BACKEND_URL.trim(); }
|
|
||||||
|
|
||||||
document.getElementById('srv-pass').addEventListener('keydown', e => { if(e.key==='Enter') doConnect(); });
|
document.getElementById('srv-pass').addEventListener('keydown', e => { if(e.key==='Enter') doConnect(); });
|
||||||
S.audio.addEventListener('timeupdate', updateProgress);
|
S.audio.addEventListener('timeupdate', updateProgress);
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
// Shared mutable state — imported as { S } in every module
|
// Shared mutable state — imported as { S } in every module
|
||||||
export const S = {
|
export const S = {
|
||||||
cfg: { url: '', user: '', pass: '', lastfmKey: '', backendUrl: '', spotifyClientId: '', spotifyClientSecret: '' },
|
cfg: { url: '', user: '', pass: '', lastfmKey: '', backendUrl: '' },
|
||||||
|
|
||||||
// Playback
|
// Playback
|
||||||
queue: [],
|
queue: [],
|
||||||
|
|||||||
Reference in new issue
Block a user