play/pause works
All checks were successful
Deploy App / build (push) Successful in 1m17s
Deploy App / deploy (push) Successful in 15s

This commit is contained in:
valere
2025-10-12 03:49:17 +02:00
parent d21e731bbe
commit 8e4f34dd21
6 changed files with 188 additions and 92 deletions

View File

@@ -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 lindex 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)
}