|
|
@ -1,11 +1,10 @@ |
|
|
|
import { QueryClient, QueryClientProvider } from "@tanstack/react-query" |
|
|
|
import { MutationCache, QueryCache, QueryClient, QueryClientProvider } from "@tanstack/react-query" |
|
|
|
import { RouterProvider, createRouter } from "@tanstack/react-router" |
|
|
|
import React from "react" |
|
|
|
import React, { StrictMode } from "react" |
|
|
|
import ReactDOM from "react-dom/client" |
|
|
|
import { routeTree } from "./routeTree.gen" |
|
|
|
|
|
|
|
import { StrictMode } from "react" |
|
|
|
import { OpenAPI } from "./client" |
|
|
|
import { ApiError, OpenAPI } from "./client" |
|
|
|
import { CustomProvider } from "./components/ui/provider" |
|
|
|
|
|
|
|
OpenAPI.BASE = import.meta.env.VITE_API_URL |
|
|
@ -13,7 +12,20 @@ OpenAPI.TOKEN = async () => { |
|
|
|
return localStorage.getItem("access_token") || "" |
|
|
|
} |
|
|
|
|
|
|
|
const queryClient = new QueryClient() |
|
|
|
const handleApiError = (error: Error) => { |
|
|
|
if (error instanceof ApiError && [401, 403].includes(error.status)) { |
|
|
|
localStorage.removeItem("access_token") |
|
|
|
window.location.href = "/login" |
|
|
|
} |
|
|
|
} |
|
|
|
const queryClient = new QueryClient({ |
|
|
|
queryCache: new QueryCache({ |
|
|
|
onError: handleApiError, |
|
|
|
}), |
|
|
|
mutationCache: new MutationCache({ |
|
|
|
onError: handleApiError, |
|
|
|
}), |
|
|
|
}) |
|
|
|
|
|
|
|
const router = createRouter({ routeTree }) |
|
|
|
declare module "@tanstack/react-router" { |
|
|
|