|
|
|
import React from "react";
|
|
|
|
import { configure } from "mobx";
|
|
|
|
import ReactDOM from "react-dom/client";
|
|
|
|
import {
|
|
|
|
createBrowserRouter,
|
|
|
|
RouterProvider,
|
|
|
|
} from "react-router-dom";
|
|
|
|
import RootStore from "./stores/Root";
|
|
|
|
import { StoreContext } from './stores/StoreContext';
|
|
|
|
import "./global.css";
|
|
|
|
import App from "./views/App";
|
|
|
|
import Index from "./views/index";
|
|
|
|
import ErrorPage from "./error-page";
|
|
|
|
import Plan from "./views/Plan";
|
|
|
|
|
|
|
|
configure({
|
|
|
|
useProxies: "ifavailable",
|
|
|
|
enforceActions: "always",
|
|
|
|
computedRequiresReaction: true,
|
|
|
|
reactionRequiresObservable: true,
|
|
|
|
observableRequiresReaction: true,
|
|
|
|
disableErrorBoundaries: true
|
|
|
|
});
|
|
|
|
|
|
|
|
const router = createBrowserRouter([
|
|
|
|
{
|
|
|
|
path: "/",
|
|
|
|
element: <App />,
|
|
|
|
errorElement: <ErrorPage />,
|
|
|
|
children: [
|
|
|
|
{ index: true, element: <Index /> },
|
|
|
|
{
|
|
|
|
path: "plan/:planId",
|
|
|
|
element: <Plan />,
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]);
|
|
|
|
|
|
|
|
const rootStore = new RootStore();
|
|
|
|
|
|
|
|
ReactDOM.createRoot(document.getElementById("root")).render(
|
|
|
|
// <React.StrictMode>
|
|
|
|
<StoreContext.Provider value={rootStore}>
|
|
|
|
<RouterProvider
|
|
|
|
router={router}
|
|
|
|
fallbackElement={() => <div>Loading...</div>}
|
|
|
|
/>
|
|
|
|
</StoreContext.Provider>
|
|
|
|
// </React.StrictMode>
|
|
|
|
);
|