Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | 2x | import { AudioPlayer } from "hooks"; import { ITrack } from "types/spotify"; export function getAudioPlayerNextPlayableTrack( audioPlayer: AudioPlayer ): ITrack | null { const allTracks = audioPlayer.allTracks; const currentTrackIndex = allTracks?.findIndex( ({ preview_url }) => preview_url === audioPlayer?.src ); const nextTrackIndex = (currentTrackIndex ?? -1) + 1; let nextTrack: ITrack | null = null; for ( let index = nextTrackIndex; index < (allTracks ? allTracks.length : 0); index++ ) { const previewUrl = allTracks[index]?.preview_url; Iif (previewUrl) { nextTrack = allTracks[index]; break; } } return nextTrack; } |