/**
 * Provider TanStack Query pour COOP-CA AMIFOND
 *
 * Configuration et provider centralisé pour TanStack Query
 */

"use client";

import { useState, type ReactNode } from "react";

import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { ReactQueryDevtools } from "@tanstack/react-query-devtools";

import { QUERY_CONFIG } from "@/lib/api-config";

interface QueryProviderProps {
  children: ReactNode;
}

export function QueryProvider({ children }: QueryProviderProps) {
  // Créer une instance unique de QueryClient
  const [queryClient] = useState(
    () =>
      new QueryClient({
        defaultOptions: QUERY_CONFIG.defaultOptions,
      }),
  );

  return (
    <QueryClientProvider client={queryClient}>
      {children}
      {/* Afficher les DevTools uniquement en développement */}
      {process.env.NODE_ENV === "development" && <ReactQueryDevtools initialIsOpen={false} position="bottom" />}
    </QueryClientProvider>
  );
}
