import { useContext } from 'react'

import { useGet } from '../components/Network'
import { UserContext } from '../contexts/UserContext'
import { CountryWithStreams } from '../types/Country'
import { TimeInterval } from '../types/TimeInterval'
import { timeRangeDates } from '../util'
import { useNetwork } from './useNetwork'

export interface CountriesData {
  countries: CountryWithStreams[]
}

export function useCountryStreams(
  sonyArtistId: string,
  timeInterval: TimeInterval
) {
  const user = useContext(UserContext)
  const dates = timeRangeDates(timeInterval)
  return useNetwork<CountriesData>(
    useGet(
      `screens/artist/${sonyArtistId}/countries?startDate=${dates.startDate}&endDate=${dates.endDate}`,
      user
    )
  )
}
