+ {showCheckboxes && (|
+ {track.isrc && ( onToggleTrack(track.isrc)}/>)}
+ | )}
+
+
+ {startIndex + index + 1}
+ {track.status && (track.status === "UP" || track.status === "DOWN" || track.status === "NEW") && (
- {track.status === "NEW" ? "●" : track.status === "UP" ? "▲" : "▼"}
- )}
+ {track.status === "NEW" ? "●" : track.status === "UP" ? "▲" : "▼"}
+ )}
+
+ |
+
+
+ {track.images && (  )}
+
+
+ {onTrackClick ? ( onTrackClick(track)}>
+ {track.name}
+ ) : ({track.name})}
+ {skippedTracks.has(track.isrc) ? () : downloadedTracks.has(track.isrc) ? () : failedTracks.has(track.isrc) ? () : null}
- |
-
-
- {track.images && (  )}
-
-
- {onTrackClick ? ( onTrackClick(track)}>
- {track.name}
- ) : ({track.name})}
- {skippedTracks.has(track.isrc) ? () : downloadedTracks.has(track.isrc) ? () : failedTracks.has(track.isrc) ? () : null}
-
-
- {track.artists_data && track.artists_data.length > 0 ? ((() => {
+
+ {track.artists_data && track.artists_data.length > 0 ? ((() => {
const artistNames = track.artists.split(", ").map(name => name.trim());
return artistNames.map((name, i) => {
const artistData = track.artists_data![i];
const hasArtistData = artistData && artistData.id && artistData.external_urls;
return (
- {onArtistClick && hasArtistData ? ( onArtistClick({
+ {onArtistClick && hasArtistData ? ( onArtistClick({
id: artistData.id,
name: name,
external_urls: artistData.external_urls,
})}>
- {name}
- ) : (name)}
- {i < artistNames.length - 1 && ", "}
- );
+ {name}
+ ) : (name)}
+ {i < artistNames.length - 1 && ", "}
+ );
});
})()) : onArtistClick && track.artist_id && track.artist_url ? ( onArtistClick({
id: track.artist_id!,
name: track.artists,
external_urls: track.artist_url!,
})}>
- {track.artists}
- ) : (track.artists)}
-
-
-
- |
- {!hideAlbumColumn && (
- {onAlbumClick && track.album_id && track.album_url ? ( onAlbumClick({
+ {track.artists}
+ ) : (track.artists)}
+
+
+
+ |
+ {!hideAlbumColumn && (
+ {onAlbumClick && track.album_id && track.album_url ? ( onAlbumClick({
id: track.album_id!,
name: track.album_name,
external_urls: track.album_url!,
})}>
- {track.album_name}
- ) : (track.album_name)}
- | )}
-
- {formatDuration(track.duration_ms)}
- |
-
- {track.plays ? formatPlays(track.plays) : ""}
- |
-
-
- {track.isrc && (
-
-
-
-
- {downloadingTrack === track.isrc ? (Downloading... ) : skippedTracks.has(track.isrc) ? (Already exists ) : downloadedTracks.has(track.isrc) ? (Downloaded ) : failedTracks.has(track.isrc) ? (Failed ) : (Download Track )}
-
- )}
- {track.spotify_id && onDownloadLyrics && (
-
-
-
-
- Download Lyric
-
- )}
- {track.images && onDownloadCover && (
-
- | )}
+
+ {formatDuration(track.duration_ms)}
+ |
+
+ {track.plays ? formatPlays(track.plays) : ""}
+ |
+
+
+ {track.isrc && (
+
+
+
+
+ {downloadingTrack === track.isrc ? (Downloading... ) : skippedTracks.has(track.isrc) ? (Already exists ) : downloadedTracks.has(track.isrc) ? (Downloaded ) : failedTracks.has(track.isrc) ? (Failed ) : (Download Track )}
+
+ )}
+ {track.spotify_id && (
+
+
+
+
+ {playingTrack === track.spotify_id ? "Stop Preview" : "Play Preview"}
+
+ )}
+ {track.spotify_id && onDownloadLyrics && (
+
+
+
+
+ Download Lyric
+
+ )}
+ {track.images && onDownloadCover && (
+
+
-
-
- Download Cover
-
- )}
- {track.spotify_id && onCheckAvailability && (
-
-
-
-
- {availabilityMap?.has(track.spotify_id) ? () : (Check Availability )}
-
- )}
-
- |
-
))}
-