mirror of
https://github.com/Sea-Haven-Industries/shoc-frontend-new.git
synced 2026-10-02 05:03:12 +00:00
36 lines
1.1 KiB
TypeScript
36 lines
1.1 KiB
TypeScript
import { MutationCache, QueryCache, QueryClient } from "@tanstack/react-query";
|
|
import { toast } from "react-toastify";
|
|
import { setupQueryBroadcast } from "@/lib/query/setup-query-broadcast";
|
|
|
|
export const queryClient = new QueryClient({
|
|
queryCache: new QueryCache({
|
|
onError: (error) => {
|
|
console.error("Query error:", error);
|
|
const message =
|
|
error instanceof Error ? error.message : "An error occurred while fetching data";
|
|
toast.error(message);
|
|
},
|
|
}),
|
|
mutationCache: new MutationCache({
|
|
onError: (error, _variables, _context, mutation) => {
|
|
if (mutation.options.meta?.suppressErrorToast) return;
|
|
|
|
console.error("Mutation error:", error);
|
|
const message =
|
|
error instanceof Error ? error.message : "An error occurred while updating data";
|
|
toast.error(message);
|
|
},
|
|
}),
|
|
defaultOptions: {
|
|
queries: {
|
|
staleTime: 5 * 60 * 1000,
|
|
gcTime: 10 * 60 * 1000,
|
|
retry: 1,
|
|
refetchOnWindowFocus: false,
|
|
},
|
|
},
|
|
});
|
|
|
|
setupQueryBroadcast(queryClient);
|
|
|
|
export default queryClient;
|