36 lines
977 B
TypeScript
36 lines
977 B
TypeScript
|
|
import { useQuery } from "@tanstack/react-query"
|
||
|
|
|
||
|
|
import { getSectorRadarDates, getSectorRadarRankings } from "./sector-radar.api"
|
||
|
|
import type { RadarRankingsQuery } from "./sector-radar.types"
|
||
|
|
|
||
|
|
export const sectorRadarDatesQueryKey = ["sectorRadar", "dates"] as const
|
||
|
|
|
||
|
|
export const sectorRadarRankingsQueryKey = (query: RadarRankingsQuery) =>
|
||
|
|
[
|
||
|
|
"sectorRadar",
|
||
|
|
"rankings",
|
||
|
|
query.tradeDate ?? "latest",
|
||
|
|
query.sectorType,
|
||
|
|
query.view,
|
||
|
|
query.rankChangeMetric,
|
||
|
|
query.rankChangeDays,
|
||
|
|
query.side,
|
||
|
|
query.search ?? "",
|
||
|
|
query.page,
|
||
|
|
query.pageSize,
|
||
|
|
] as const
|
||
|
|
|
||
|
|
export function useSectorRadarDates() {
|
||
|
|
return useQuery({
|
||
|
|
queryFn: ({ signal }) => getSectorRadarDates(signal),
|
||
|
|
queryKey: sectorRadarDatesQueryKey,
|
||
|
|
})
|
||
|
|
}
|
||
|
|
|
||
|
|
export function useSectorRadarRankings(query: RadarRankingsQuery) {
|
||
|
|
return useQuery({
|
||
|
|
queryFn: ({ signal }) => getSectorRadarRankings(query, signal),
|
||
|
|
queryKey: sectorRadarRankingsQueryKey(query),
|
||
|
|
})
|
||
|
|
}
|