+
+
{t('albumDetail.trackTitle')}
+
{t('albumDetail.trackArtist')}
+
{t('search.album')}
+
{t('albumDetail.trackFormat')}
+
{t('albumDetail.trackDuration')}
+
playSong(song, results.songs)}
+ role="row"
+ draggable
+ onDragStart={e => {
+ e.dataTransfer.effectAllowed = 'copy';
+ const track = {
+ id: song.id, title: song.title, artist: song.artist, album: song.album,
+ albumId: song.albumId, artistId: song.artistId, duration: song.duration,
+ coverArt: song.coverArt, year: song.year, bitRate: song.bitRate,
+ suffix: song.suffix, userRating: song.userRating,
+ };
+ e.dataTransfer.setData('text/plain', JSON.stringify({ type: 'song', track }));
+ }}
+ >
+
+
+ {song.title}
+
+
{song.artist}
+
{song.album}
+
+ {[song.suffix?.toUpperCase(), song.bitRate ? `${song.bitRate} kbps` : ''].filter(Boolean).join(' · ')}
+
+
+ {formatDuration(song.duration)}
+
+