mirror of
https://github.com/nicotsx/zerobyte.git
synced 2026-04-17 21:37:06 -04:00
* refactor: move to tanstack start * refactor: auth flow & volumes * refactor: repo & snapshot details * refactor: backups, create repo, volumes * refactor: create volume & restore snapshot * refactor: notifications * refactor: settings * refactor: breadcrumbs * fix: ts issues * refactor: prod deployment * fix: import css production * refactor: nitro build * refactor: winston -> consola * fix: memory leak is sse events cleanup * fix: cli usage * chore: remove rr routes file * refactor: pr feedbacks * refactor: patch api client to have a global client per call * refactor: pr feedbacks * fix(dockerfile): add explicit port * fix(e2e): healthcheck under /api
53 lines
1.2 KiB
TypeScript
53 lines
1.2 KiB
TypeScript
import { createRouter } from "@tanstack/react-router";
|
|
import { setupRouterSsrQueryIntegration } from "@tanstack/react-router-ssr-query";
|
|
import { routeTree } from "./routeTree.gen";
|
|
import { MutationCache, QueryClient } from "@tanstack/react-query";
|
|
import { client } from "./client/api-client/client.gen";
|
|
import type { BreadcrumbItemData } from "./client/components/app-breadcrumb";
|
|
|
|
client.setConfig({
|
|
baseUrl: "/",
|
|
credentials: "include",
|
|
});
|
|
|
|
export function getRouter() {
|
|
const queryClient = new QueryClient({
|
|
defaultOptions: {
|
|
queries: {
|
|
retry: false,
|
|
},
|
|
},
|
|
mutationCache: new MutationCache({
|
|
onSuccess: () => {
|
|
void queryClient.invalidateQueries();
|
|
},
|
|
onError: (error) => {
|
|
console.error("Mutation error:", error);
|
|
void queryClient.invalidateQueries();
|
|
},
|
|
}),
|
|
});
|
|
|
|
const router = createRouter({
|
|
routeTree,
|
|
context: { queryClient },
|
|
defaultPreload: "intent",
|
|
scrollRestoration: true,
|
|
});
|
|
setupRouterSsrQueryIntegration({
|
|
router,
|
|
queryClient,
|
|
});
|
|
|
|
return router;
|
|
}
|
|
|
|
declare module "@tanstack/react-router" {
|
|
interface Register {
|
|
router: ReturnType<typeof getRouter>;
|
|
}
|
|
interface StaticDataRouteOption {
|
|
breadcrumb?: (match: any) => BreadcrumbItemData[] | null;
|
|
}
|
|
}
|