fabro/apps/fabro-web/app/entry.tsx
Bryan Helmkamp 9b9ebdf50b
feat(web): migrate to generated API client
Expand the OpenAPI contract for frontend auth and workflow routes, regenerate the TypeScript Axios client, and route web API calls through generated client classes while preserving SSE and install exceptions.
2026-05-08 07:44:33 -07:00

36 lines
900 B
TypeScript

import { StrictMode } from "react";
import { createRoot } from "react-dom/client";
import { createBrowserRouter, RouterProvider } from "react-router";
import { SWRConfig } from "swr";
import { installRoutes } from "./install-router";
import { resolveFabroMode } from "./mode";
import { routes } from "./router";
declare global {
interface Window {
__FABRO_MODE__?: string;
}
}
const router = createBrowserRouter(
resolveFabroMode(window.__FABRO_MODE__) === "install" ? installRoutes : routes,
);
const rootElement = document.getElementById("root");
if (!rootElement) {
throw new Error("Missing #root element");
}
createRoot(rootElement).render(
<StrictMode>
<SWRConfig
value={{
revalidateOnFocus: false,
dedupingInterval: 2000,
shouldRetryOnError: false,
}}
>
<RouterProvider router={router} />
</SWRConfig>
</StrictMode>,
);