';
}).join('');
if(append)el.innerHTML+=html;
else el.innerHTML=html;
@@ -335,7 +337,9 @@ function prev(){if(idx>0)play(idx-1)}
function next(){if(idx{tracks.push({...a,resultType:'album',browseId:a.browseId,thumbnails:[{url:a.thumbnail}]})});
}
songs=tracks;
- // Show artist header
- var thumb=artist.thumbnail||artist.thumbnails?.[0]?.url||'';
- var header='
'+esc(artist.name||'Artist')+'
'+(artist.subscribers||'')+'
';
+ // Use search thumbnail if available, otherwise API thumbnail
+ var thumb=searchThumb||artist.thumbnail||artist.thumbnails?.[0]?.url||'';
+ var name=searchName||artist.name||'Artist';
+ var header='
';}
document.getElementById('loading').style.display='none';
}
-async function viewAlbum(id){
+async function viewAlbum(id,thumbEnc,nameEnc){
+ var searchThumb=thumbEnc?decodeURIComponent(thumbEnc):'';
+ var searchName=nameEnc?decodeURIComponent(nameEnc):'';
document.getElementById('loading').style.display='block';
document.getElementById('results').innerHTML='';
try{
var res=await fetch('/api/albums/'+encodeURIComponent(id));
var data=await res.json();
var album=data.album||data;
- var albumThumb=album.thumbnail||album.thumbnails?.[0]?.url||'';
+ var albumThumb=searchThumb||album.thumbnail||album.thumbnails?.[0]?.url||'';
+ var albumName=searchName||album.title||'Album';
songs=(data.tracks||[]).map(t=>({...t,resultType:'song',thumbnails:[{url:albumThumb}]}));
// Show album header
var artistName=data.artist?.name||album.artists?.map(a=>a.name).join(', ')||'';
- var header='
';}
document.getElementById('loading').style.display='none';
}
-async function viewPlaylist(id){
+async function viewPlaylist(id,thumbEnc,nameEnc){
+ var searchThumb=thumbEnc?decodeURIComponent(thumbEnc):'';
+ var searchName=nameEnc?decodeURIComponent(nameEnc):'';
document.getElementById('loading').style.display='block';
document.getElementById('results').innerHTML='';
try{
@@ -388,10 +398,11 @@ async function viewPlaylist(id){
var playlistId=id.startsWith('VL')?id.substring(2):id;
var res=await fetch('/api/playlists/'+encodeURIComponent(playlistId));
var data=await res.json();
- var playlistThumb=data.thumbnail||data.thumbnails?.[0]?.url||'';
+ var playlistThumb=searchThumb||data.thumbnail||data.thumbnails?.[0]?.url||'';
+ var playlistName=searchName||data.title||'Playlist';
songs=(data.tracks||[]).map(t=>({...t,resultType:'song'}));
// Show playlist header
- var header='