mango-v4-ui/hooks/useMarketsData.ts

28 lines
794 B
TypeScript
Raw Normal View History

2023-07-21 05:03:44 -07:00
import { useQuery } from '@tanstack/react-query'
import { MANGO_DATA_API_URL } from 'utils/constants'
const fetchMarketData = async () => {
const promises = [
fetch(`${MANGO_DATA_API_URL}/stats/perp-market-summary`),
fetch(`${MANGO_DATA_API_URL}/stats/spot-market-summary`),
]
try {
const data = await Promise.all(promises)
const perpData = await data[0].json()
const spotData = await data[1].json()
return { perpData, spotData }
} catch (e) {
2023-08-17 18:17:26 -07:00
console.error('Failed to fetch market data', e)
2023-07-21 05:03:44 -07:00
return { perpData: [], spotData: [] }
}
}
2023-07-24 05:14:45 -07:00
export default function useMarketsData() {
2023-07-21 05:03:44 -07:00
return useQuery(['market-data'], () => fetchMarketData(), {
cacheTime: 1000 * 60 * 10,
staleTime: 1000 * 60,
retry: 3,
refetchOnWindowFocus: false,
})
}