grafana/public/app/features/playlist/usePlaylist.tsx

24 lines
630 B
TypeScript
Raw Normal View History

import { useEffect, useState } from 'react';
import { Playlist } from './types';
import { getPlaylist } from './api';
export function usePlaylist(playlistId?: number) {
const [playlist, setPlaylist] = useState<Playlist>({ items: [], interval: '5m', name: '' });
const [loading, setLoading] = useState<boolean>(true);
useEffect(() => {
const initPlaylist = async () => {
if (!playlistId) {
setLoading(false);
return;
}
const list = await getPlaylist(playlistId);
setPlaylist(list);
setLoading(false);
};
initPlaylist();
}, []);
return { playlist, loading };
}