import { createAsyncStoragePersister } from '@tanstack/query-async-storage-persister';
import { QueryClient } from '@tanstack/react-query';
import { persistQueryClient } from '@tanstack/react-query-persist-client';
import localforage from 'localforage';

const queryClient = new QueryClient({
  defaultOptions: {
    queries: {
      refetchOnWindowFocus: false,
      refetchOnMount: false,
      gcTime: Infinity,
      staleTime: Infinity,
    },
  },
});

if (typeof window !== 'undefined') {
  persistQueryClient({
    queryClient,
    persister: createAsyncStoragePersister({
      storage: localforage,
      key: 'jul-28-2025-query-client',
    }),
  });
}

export default queryClient;
