diff --git a/ui.ts b/ui.ts
index 693ba91..ead1bf6 100644
--- a/ui.ts
+++ b/ui.ts
@@ -341,18 +341,21 @@ async function viewArtist(id){
try{
var res=await fetch('/api/artists/'+encodeURIComponent(id));
var data=await res.json();
+ var artist=data.artist||data;
var tracks=[];
- // Get songs from artist
+ // Get songs from artist - check both structures
+ if(data.topSongs)tracks.push(...data.topSongs.map(s=>({...s,resultType:'song',videoId:s.videoId,thumbnails:[{url:s.thumbnail}]})));
if(data.songs?.results)tracks.push(...data.songs.results.map(s=>({...s,resultType:'song'})));
- if(data.albums?.results){
- data.albums.results.forEach(a=>{tracks.push({...a,resultType:'album'})});
+ if(data.albums){
+ data.albums.forEach(a=>{tracks.push({...a,resultType:'album',browseId:a.browseId,thumbnails:[{url:a.thumbnail}]})});
}
- if(data.singles?.results){
- data.singles.results.forEach(a=>{tracks.push({...a,resultType:'album'})});
+ if(data.singles){
+ data.singles.forEach(a=>{tracks.push({...a,resultType:'album',browseId:a.browseId,thumbnails:[{url:a.thumbnail}]})});
}
songs=tracks;
// Show artist header
- var header='
'+esc(data.name||'Artist')+'
'+(data.subscribers||'')+'
';
+ var thumb=artist.thumbnail||artist.thumbnails?.[0]?.url||'';
+ var header='
';}
@@ -365,9 +368,12 @@ async function viewAlbum(id){
try{
var res=await fetch('/api/albums/'+encodeURIComponent(id));
var data=await res.json();
- songs=(data.tracks||[]).map(t=>({...t,resultType:'song',thumbnails:data.thumbnails}));
+ var album=data.album||data;
+ var albumThumb=album.thumbnail||album.thumbnails?.[0]?.url||'';
+ songs=(data.tracks||[]).map(t=>({...t,resultType:'song',thumbnails:[{url:albumThumb}]}));
// Show album header
- var header='
';}
@@ -382,9 +388,10 @@ 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||'';
songs=(data.tracks||[]).map(t=>({...t,resultType:'song'}));
// Show playlist header
- var header='