diff --git a/src/renderer/src/lib/query-client.ts b/src/renderer/src/lib/query-client.ts new file mode 100644 index 000000000..7ac76df82 --- /dev/null +++ b/src/renderer/src/lib/query-client.ts @@ -0,0 +1,22 @@ +import { QueryClient } from "@tanstack/react-query" +import { persistQueryClient } from "@tanstack/react-query-persist-client" +import { createSyncStoragePersister } from "@tanstack/query-sync-storage-persister" + +const queryClient = new QueryClient({ + defaultOptions: { + queries: { + gcTime: Infinity, + }, + }, +}) + +const localStoragePersister = createSyncStoragePersister({ + storage: window.localStorage, +}) + +persistQueryClient({ + queryClient, + persister: localStoragePersister, +}) + +export { queryClient } diff --git a/src/renderer/src/main.tsx b/src/renderer/src/main.tsx index cee86002e..d23b2e4e0 100644 --- a/src/renderer/src/main.tsx +++ b/src/renderer/src/main.tsx @@ -5,11 +5,10 @@ import ReactDOM from "react-dom/client" import App from "./App" import { RouterProvider, createBrowserRouter } from "react-router-dom" import { LazyMotion, MotionConfig } from "framer-motion" -import { QueryClientProvider, QueryClient } from "@tanstack/react-query" +import { QueryClientProvider } from "@tanstack/react-query" import { authConfigManager, SessionProvider } from "@hono/auth-js/react" -import { persistQueryClient } from "@tanstack/react-query-persist-client" -import { createSyncStoragePersister } from "@tanstack/query-sync-storage-persister" import { Toaster } from "@renderer/components/ui/toaster" +import { queryClient } from "@renderer/lib/query-client" const router = createBrowserRouter([ { @@ -65,23 +64,6 @@ const router = createBrowserRouter([ const loadFeatures = () => import("./framer-lazy-feature").then((res) => res.default) -const queryClient = new QueryClient({ - defaultOptions: { - queries: { - gcTime: Infinity, - }, - }, -}) - -const localStoragePersister = createSyncStoragePersister({ - storage: window.localStorage, -}) - -persistQueryClient({ - queryClient, - persister: localStoragePersister, -}) - authConfigManager.setConfig({ baseUrl: import.meta.env.VITE_API_URL, basePath: "/auth",