play/pause works
This commit is contained in:
@@ -75,12 +75,30 @@ export const useDataStore = defineStore('data', {
|
||||
return tracks.length > 0 ? tracks[0] : null
|
||||
}
|
||||
},
|
||||
getFirstTrackOfPlaylist() {
|
||||
return (compilationId: string) => {
|
||||
const tracks = this.getPlaylistTracksByCompilationId(compilationId)
|
||||
return tracks.length > 0 ? tracks[0] : null
|
||||
}
|
||||
},
|
||||
getNextPlaylistTrack: (state) => {
|
||||
return (track: Track) => {
|
||||
const tracksInPlaylist = state.playlistTracks
|
||||
.filter((t) => t.compilationId === track.compilationId)
|
||||
.sort((a, b) => (a.order ?? 0) - (b.order ?? 0))
|
||||
|
||||
const index = tracksInPlaylist.findIndex((t) => t.id === track.id)
|
||||
return index >= 0 && index < tracksInPlaylist.length - 1
|
||||
? tracksInPlaylist[index + 1]
|
||||
: null
|
||||
}
|
||||
},
|
||||
getNextTrack: (state) => {
|
||||
return (track: Track) => {
|
||||
// Récupérer toutes les tracks de la même compilation et les trier par ordre
|
||||
const tracksInCompilation = state.tracks
|
||||
.filter((t) => t.compilationId === track.compilationId)
|
||||
.sort((a, b) => a.order - b.order)
|
||||
.sort((a, b) => (a.order ?? 0) - (b.order ?? 0))
|
||||
|
||||
// Trouver l’index de la track courante
|
||||
const index = tracksInCompilation.findIndex((t) => t.id === track.id)
|
||||
@@ -90,6 +108,16 @@ export const useDataStore = defineStore('data', {
|
||||
: null
|
||||
}
|
||||
},
|
||||
getPrevTrack: (state) => {
|
||||
return (track: Track) => {
|
||||
const tracksInCompilation = state.tracks
|
||||
.filter((t) => t.compilationId === track.compilationId)
|
||||
.sort((a, b) => (a.order ?? 0) - (b.order ?? 0))
|
||||
|
||||
const index = tracksInCompilation.findIndex((t) => t.id === track.id)
|
||||
return index > 0 ? tracksInCompilation[index - 1] : null
|
||||
}
|
||||
},
|
||||
getPlaylistTracksByCompilationId: (state) => (id: string) => {
|
||||
return state.playlistTracks.filter((track) => track.compilationId === id)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user