fix: guard home page against null track items

This commit is contained in:
2026-04-03 21:00:51 +03:00
parent 3c284bc414
commit 480bdc2476

View File

@@ -20,7 +20,8 @@ export function HomePage() {
queryFn: fetchRecentlyPlayed, queryFn: fetchRecentlyPlayed,
}) })
const heroTrack = tracksQuery.data?.items[0] const allTracks = tracksQuery.data?.items ?? []
const heroTrack = allTracks[0]
const recentAlbums = homeQuery.data?.recentAlbums ?? [] const recentAlbums = homeQuery.data?.recentAlbums ?? []
const recentTracks = recentTracksQuery.data?.items ?? homeQuery.data?.recentTracks ?? [] const recentTracks = recentTracksQuery.data?.items ?? homeQuery.data?.recentTracks ?? []
const popularAlbums = [...recentAlbums].reverse() const popularAlbums = [...recentAlbums].reverse()
@@ -70,8 +71,8 @@ export function HomePage() {
</section> </section>
<TrackRow title="Недавно прослушанные" tracks={recentTracks} onPlayAll={() => setQueue(recentTracks)} /> <TrackRow title="Недавно прослушанные" tracks={recentTracks} onPlayAll={() => setQueue(recentTracks)} />
<AlbumRow title="Недавно добавленные" albums={recentAlbums} onPlayAll={() => setQueue(tracksQuery.data?.items ?? [])} /> <AlbumRow title="Недавно добавленные" albums={recentAlbums} onPlayAll={() => setQueue(allTracks)} />
<AlbumRow title="Наиболее прослушиваемые" albums={popularAlbums} onPlayAll={() => setQueue(tracksQuery.data?.items ?? [])} /> <AlbumRow title="Наиболее прослушиваемые" albums={popularAlbums} onPlayAll={() => setQueue(allTracks)} />
</div> </div>
) )
} }