mirror of
https://github.com/FranP-code/create-better-t-stack.git
synced 2025-10-12 23:52:15 +00:00
70 lines
1.9 KiB
Handlebars
70 lines
1.9 KiB
Handlebars
import { RouterProvider, createRouter } from "@tanstack/react-router";
|
|
import ReactDOM from "react-dom/client";
|
|
import Loader from "./components/loader";
|
|
import { routeTree } from "./routeTree.gen";
|
|
{{#if (eq api "orpc")}}
|
|
import { QueryClientProvider } from "@tanstack/react-query";
|
|
import { orpc, queryClient } from "./utils/orpc";
|
|
{{/if}}
|
|
{{#if (eq api "trpc")}}
|
|
import { QueryClientProvider } from "@tanstack/react-query";
|
|
import { queryClient, trpc } from "./utils/trpc";
|
|
{{/if}}
|
|
{{#if (eq backend "convex")}}
|
|
import { ConvexProvider, ConvexReactClient } from "convex/react";
|
|
|
|
const convex = new ConvexReactClient(import.meta.env.VITE_CONVEX_URL as string);
|
|
{{/if}}
|
|
|
|
{{#if (eq api "orpc")}}
|
|
const router = createRouter({
|
|
routeTree,
|
|
defaultPreload: "intent",
|
|
defaultPendingComponent: () => <Loader />,
|
|
context: { orpc, queryClient },
|
|
Wrap: function WrapComponent({ children }) {
|
|
return (
|
|
<QueryClientProvider client={queryClient}>{children}</QueryClientProvider>
|
|
);
|
|
},
|
|
});
|
|
{{/if}}
|
|
{{#if (eq api "trpc")}}
|
|
const router = createRouter({
|
|
routeTree,
|
|
defaultPreload: "intent",
|
|
defaultPendingComponent: () => <Loader />,
|
|
context: { trpc, queryClient },
|
|
Wrap: function WrapComponent({ children }) {
|
|
return (
|
|
<QueryClientProvider client={queryClient}>{children}</QueryClientProvider>
|
|
);
|
|
},
|
|
});
|
|
{{/if}}
|
|
{{#if (eq backend "convex")}}
|
|
const router = createRouter({
|
|
routeTree,
|
|
defaultPreload: "intent",
|
|
defaultPendingComponent: () => <Loader />,
|
|
context: {},
|
|
Wrap: function WrapComponent({ children }) {
|
|
return <ConvexProvider client={convex}>{children}</ConvexProvider>;
|
|
},
|
|
});
|
|
{{/if}}
|
|
|
|
declare module "@tanstack/react-router" {
|
|
interface Register {
|
|
router: typeof router;
|
|
}
|
|
}
|
|
|
|
const rootElement = document.getElementById("app");
|
|
if (!rootElement) throw new Error("Root element not found");
|
|
|
|
if (!rootElement.innerHTML) {
|
|
const root = ReactDOM.createRoot(rootElement);
|
|
root.render(<RouterProvider router={router} />);
|
|
}
|