19 lines
653 B
TypeScript
19 lines
653 B
TypeScript
"use client";
|
|
|
|
import { useQuery } from "@tanstack/react-query";
|
|
import { fetchImgwCurrentWeather } from "@/lib/imgw-current-api";
|
|
import { QUERY_GC_TIME } from "@/lib/constants";
|
|
|
|
const CURRENT_WEATHER_STALE_TIME = 2 * 60 * 1000;
|
|
|
|
export function useCurrentWeather(latitude?: number, longitude?: number) {
|
|
return useQuery({
|
|
queryKey: ["imgw-current-weather", latitude, longitude],
|
|
queryFn: ({ signal }) => fetchImgwCurrentWeather(latitude as number, longitude as number, signal),
|
|
staleTime: CURRENT_WEATHER_STALE_TIME,
|
|
gcTime: QUERY_GC_TIME,
|
|
retry: 1,
|
|
enabled: Number.isFinite(latitude) && Number.isFinite(longitude),
|
|
});
|
|
}
|