17 lines
548 B
TypeScript
17 lines
548 B
TypeScript
"use client";
|
|
|
|
import { useQuery } from "@tanstack/react-query";
|
|
import { fetchForecast } from "@/lib/forecast-api";
|
|
import { QUERY_GC_TIME } from "@/lib/constants";
|
|
|
|
export function useForecast(latitude?: number, longitude?: number) {
|
|
return useQuery({
|
|
queryKey: ["forecast", latitude, longitude],
|
|
queryFn: ({ signal }) => fetchForecast(latitude as number, longitude as number, signal),
|
|
enabled: Number.isFinite(latitude) && Number.isFinite(longitude),
|
|
staleTime: 15 * 60 * 1000,
|
|
gcTime: QUERY_GC_TIME,
|
|
retry: 2,
|
|
});
|
|
}
|