netx/web/src/main.tsx
oliver 990798987b Fix empty topology create-root and cut navigation loading flash.
Keep the hidden system root built-in; speed tree bootstrap, unblock new-root UI, and soften query/Suspense refetch jank.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-07 09:18:13 +08:00

39 lines
1.1 KiB
TypeScript

import { StrictMode } from "react";
import { createRoot } from "react-dom/client";
import { BrowserRouter } from "react-router-dom";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import "./index.css";
import App from "./App.tsx";
import { ErrorBoundary } from "./layout/ErrorBoundary";
import { I18nProvider } from "./i18n";
import { ToastProvider } from "./hooks/useToast";
import { AuthProvider } from "./auth/AuthContext";
const queryClient = new QueryClient({
defaultOptions: {
queries: {
// Avoid remount flash/jank on every navigation (default staleTime is 0).
staleTime: 30_000,
refetchOnWindowFocus: false,
retry: 1,
},
},
});
createRoot(document.getElementById("root")!).render(
<StrictMode>
<ErrorBoundary>
<QueryClientProvider client={queryClient}>
<I18nProvider>
<ToastProvider>
<BrowserRouter>
<AuthProvider>
<App />
</AuthProvider>
</BrowserRouter>
</ToastProvider>
</I18nProvider>
</QueryClientProvider>
</ErrorBoundary>
</StrictMode>,
);