Co-authored-by: Julien Valverdé <julien.valverde@mailo.com> Reviewed-on: https://gitea:3000/Thilawyn/reffuse/pulls/3
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import { FetchHttpClient } from "@effect/platform"
|
|
import { Clipboard, Geolocation, Permissions } from "@effect/platform-browser"
|
|
import { createRouter, RouterProvider } from "@tanstack/react-router"
|
|
import { Layer } from "effect"
|
|
import { StrictMode } from "react"
|
|
import { createRoot } from "react-dom/client"
|
|
import { ReffuseRuntime } from "reffuse"
|
|
import { GlobalContext } from "./reffuse"
|
|
import { routeTree } from "./routeTree.gen"
|
|
|
|
|
|
const layer = Layer.empty.pipe(
|
|
Layer.provideMerge(Clipboard.layer),
|
|
Layer.provideMerge(Geolocation.layer),
|
|
Layer.provideMerge(Permissions.layer),
|
|
Layer.provideMerge(FetchHttpClient.layer),
|
|
)
|
|
|
|
const router = createRouter({ routeTree })
|
|
|
|
declare module "@tanstack/react-router" {
|
|
interface Register {
|
|
router: typeof router
|
|
}
|
|
}
|
|
|
|
|
|
createRoot(document.getElementById("root")!).render(
|
|
<StrictMode>
|
|
<ReffuseRuntime.Provider>
|
|
<GlobalContext.Provider layer={layer}>
|
|
<RouterProvider router={router} />
|
|
</GlobalContext.Provider>
|
|
</ReffuseRuntime.Provider>
|
|
</StrictMode>
|
|
)
|