added queue context jump

This commit is contained in:
austinried
2021-08-10 12:17:36 +09:00
parent 22e3446c09
commit 9705a95aaa
7 changed files with 130 additions and 28 deletions

View File

@@ -15,10 +15,18 @@ export type Progress = {
buffered: number
}
export type QueueContextType = 'album' | 'playlist' | 'song' | 'artist'
export type TrackPlayerSlice = {
name?: string
setName: (name?: string) => void
queueContextType?: QueueContextType
setQueueContextType: (queueContextType?: QueueContextType) => void
queueContextId?: string
setQueueContextId: (queueContextId?: string) => void
shuffleOrder?: number[]
setShuffleOrder: (shuffleOrder?: number[]) => void
@@ -47,6 +55,12 @@ export const selectTrackPlayer = {
name: (store: TrackPlayerSlice) => store.name,
setName: (store: TrackPlayerSlice) => store.setName,
queueContextType: (store: TrackPlayerSlice) => store.queueContextType,
setQueueContextType: (store: TrackPlayerSlice) => store.setQueueContextType,
queueContextId: (store: TrackPlayerSlice) => store.queueContextId,
setQueueContextId: (store: TrackPlayerSlice) => store.setQueueContextId,
shuffleOrder: (store: TrackPlayerSlice) => store.shuffleOrder,
setShuffleOrder: (store: TrackPlayerSlice) => store.setShuffleOrder,
shuffled: (store: TrackPlayerSlice) => !!store.shuffleOrder,
@@ -78,6 +92,12 @@ export const createTrackPlayerSlice = (set: SetState<Store>, get: GetState<Store
name: undefined,
setName: name => set({ name }),
queueContextType: undefined,
setQueueContextType: queueContextType => set({ queueContextType }),
queueContextId: undefined,
setQueueContextId: queueContextId => set({ queueContextId }),
shuffleOrder: undefined,
setShuffleOrder: shuffleOrder => set({ shuffleOrder }),
@@ -122,6 +142,8 @@ export const createTrackPlayerSlice = (set: SetState<Store>, get: GetState<Store
reset: () => {
set({
name: undefined,
queueContextType: undefined,
queueContextId: undefined,
shuffleOrder: undefined,
repeatMode: RepeatMode.Off,
playerState: State.None,