import { QueryClient } from "@tanstack/react-query";

let clientQueryClient: QueryClient | undefined;

const defaultOptions = {
  queries: {
    staleTime: 30 * 1000,
    refetchOnWindowFocus: false,
  },
};

export function getQueryClient(): QueryClient {
  if (typeof window === "undefined") {
    // Server: always create a new instance per request
    return new QueryClient({ defaultOptions });
  }
  // Browser: singleton
  if (!clientQueryClient) {
    clientQueryClient = new QueryClient({ defaultOptions });
  }
  return clientQueryClient;
}
