diff --git a/app.js b/app.js index c7d561c..0622766 100644 --- a/app.js +++ b/app.js @@ -439,6 +439,8 @@ async function loadPlaylistDetail(pl){ const songs=full.entry||[]; const totalMin=Math.round(songs.reduce((s,t)=>s+(t.duration||0),0)/60); document.getElementById('playlist-detail-stats').textContent=`${songs.length} Titel · ${totalMin} Min.`; + const descEl=document.getElementById('playlist-detail-desc'); + if(descEl){descEl.textContent=full.comment||'';descEl.style.display=full.comment?'':'none';} document.getElementById('btn-play-playlist').onclick=()=>playQueue(songs,0); document.getElementById('btn-shuffle-playlist').onclick=()=>{ const shuffled=[...songs].sort(()=>Math.random()-.5); diff --git a/index.html b/index.html index d40d2f4..acff5ee 100644 --- a/index.html +++ b/index.html @@ -231,6 +231,7 @@
Playlist
—
+
diff --git a/styles.css b/styles.css index 5277425..7fdf5f1 100644 --- a/styles.css +++ b/styles.css @@ -165,6 +165,7 @@ nav{flex:1;overflow-y:auto;padding:4px 10px} .album-artist-name{font-size:14px;color:var(--text2);margin-bottom:10px;cursor:pointer} .album-artist-name:hover{color:var(--accent)} .album-stats{font-size:12px;color:var(--text3)} +.playlist-detail-desc{font-size:13px;color:var(--text2);line-height:1.5;margin-top:6px;max-width:480px} .album-actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap} .btn-play-all{display:flex;align-items:center;gap:7px;padding:10px 20px;border-radius:25px;background:var(--accent);color:#000;border:none;font-family:var(--font);font-size:13px;font-weight:700;cursor:pointer;transition:opacity .15s,transform .15s} .btn-play-all:hover{opacity:.9;transform:scale(1.02)} diff --git a/sw.js b/sw.js index e6863e2..9b7648d 100644 --- a/sw.js +++ b/sw.js @@ -1,4 +1,4 @@ -const CACHE = 'ns-v32'; +const CACHE = 'ns-v33'; const PRECACHE = ['/', 'index.html', 'styles.css', 'app.js', 'manifest.json', 'icon.svg']; const SKIP_PATHS = ['/rest/stream', '/rest/download', '/config.js'];