aboutsummaryrefslogtreecommitdiff
path: root/src/frontend/app/hooks/usePlanQuery.ts
blob: 103f5f4916e6b2b9f672bed69666f12cfeafaa2b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import { useQuery } from "@tanstack/react-query";
import { fetchPlan } from "../api/planner";

export const usePlanQuery = (
  fromLat: number | undefined,
  fromLon: number | undefined,
  toLat: number | undefined,
  toLon: number | undefined,
  time?: Date,
  arriveBy: boolean = false,
  enabled: boolean = true
) => {
  return useQuery({
    queryKey: [
      "plan",
      fromLat,
      fromLon,
      toLat,
      toLon,
      time?.toISOString(),
      arriveBy,
    ],
    queryFn: () =>
      fetchPlan(fromLat!, fromLon!, toLat!, toLon!, time, arriveBy),
    enabled: !!(fromLat && fromLon && toLat && toLon) && enabled,
    staleTime: 60000, // 1 minute
    retry: false,
  });
};