Files
jellyfin-audio-player/src/utility/useQueue.ts

24 lines
624 B
TypeScript
Raw Normal View History

2020-06-16 17:51:51 +02:00
import { useEffect, useState } from 'react';
import TrackPlayer, { usePlaybackState, Track } from 'react-native-track-player';
/**
* This hook retrieves the current playing track from TrackPlayer
*/
export default function useQueue(): Track[] {
2020-06-16 17:51:51 +02:00
const state = usePlaybackState();
const [queue, setQueue] = useState<Track[]>([]);
2020-06-16 17:51:51 +02:00
useEffect(() => {
TrackPlayer.getQueue().then(setQueue);
}, [state]);
return queue;
}
/**
* Shorthand helper to determine whether a queue exists
*/
export function useHasQueue(): boolean {
const queue = useQueue();
return !!queue && queue.length > 1;
}