import { useApolloClient } from "@apollo/client"; import { createRouterComponent } from "@curi/react-dom"; import { createRouter, announce } from "@curi/router"; import { browser } from "@hickory/browser"; import { FC, useEffect, useState } from "react"; import routes from "../../routes"; import { LinearProgress } from "@mui/material"; const Component: FC = ({ children }) => { const client = useApolloClient(); const [body, setBody] = useState(null); useEffect(() => { const router = createRouter(browser, routes, { sideEffects: [ announce(({ response }) => { return `Navigated to ${response.location.pathname}`; }), ], external: { client }, }); const Router = createRouterComponent(router); router.once(() => { setBody({children}); }); }, [setBody, client, children]); return body ?? ; }; export default Component;