Files
jellyfin-audio-player/src/utility/useQueue.ts
Lei Nelissen 8309034a04 (1) Use absolute imports
(2) Allow queue tracks to be played when touched
(3) Store refresh dates as numbers
2020-06-21 10:52:54 +02:00

24 lines
624 B
TypeScript

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[] {
const state = usePlaybackState();
const [queue, setQueue] = useState<Track[]>([]);
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;
}