import { useCallback, useEffect, useState } from "react"; import { useApi } from "@/contexts/ApiContext"; import { DatasetItem, listDatasets } from "@/lib/replayApi"; export const useDatasets = () => { const { baseUrl, fetchWithHeaders } = useApi(); const [datasets, setDatasets] = useState([]); const [loading, setLoading] = useState(true); const refresh = useCallback(() => { setLoading(true); listDatasets(baseUrl, fetchWithHeaders) .then(setDatasets) .catch(() => setDatasets([])) .finally(() => setLoading(false)); }, [baseUrl, fetchWithHeaders]); useEffect(() => { refresh(); }, [refresh]); return { datasets, loading, refresh }; };