2021-01-25 21:55:46 +00:00
|
|
|
import React from "react";
|
2021-02-24 07:30:42 +00:00
|
|
|
import store from "studio/store";
|
|
|
|
import ErrorBoundary from "@appserver/common/src/components/ErrorBoundary";
|
|
|
|
import { Provider as MobxProvider } from "mobx-react";
|
2021-02-20 07:59:40 +00:00
|
|
|
import ThemeProvider from "@appserver/components/src/components/theme-provider";
|
2021-01-25 21:55:46 +00:00
|
|
|
import "./custom.scss";
|
2021-02-20 07:59:40 +00:00
|
|
|
import { Base, Dark } from "@appserver/components/src/themes";
|
2021-02-19 17:51:44 +00:00
|
|
|
import "./i18n";
|
2020-10-16 13:20:12 +00:00
|
|
|
|
2021-02-24 07:30:42 +00:00
|
|
|
const Shell = React.lazy(() => import("./Shell")); //import("studio/shell"));
|
2021-02-20 07:59:40 +00:00
|
|
|
const App = () => {
|
|
|
|
return (
|
|
|
|
<ThemeProvider theme={Base}>
|
2021-02-24 07:30:42 +00:00
|
|
|
<MobxProvider
|
|
|
|
{...store}
|
|
|
|
// auth={authStore}
|
|
|
|
// payments={paymentStore}
|
|
|
|
// wizard={wizardStore}
|
|
|
|
// setup={setupStore}
|
|
|
|
>
|
|
|
|
<ErrorBoundary>
|
|
|
|
<React.Suspense fallback={null}>
|
|
|
|
<Shell />
|
|
|
|
</React.Suspense>
|
|
|
|
</ErrorBoundary>
|
|
|
|
</MobxProvider>
|
2021-02-20 07:59:40 +00:00
|
|
|
</ThemeProvider>
|
2021-01-25 21:55:46 +00:00
|
|
|
);
|
2021-02-20 07:59:40 +00:00
|
|
|
};
|
2021-01-25 21:55:46 +00:00
|
|
|
|
|
|
|
export default App;
|
|
|
|
|
2021-02-24 07:30:42 +00:00
|
|
|
// import React, { Suspense, lazy, useEffect } from "react";
|
2021-01-25 21:55:46 +00:00
|
|
|
// import { Router, Route, Switch } from "react-router-dom";
|
2021-01-29 13:39:00 +00:00
|
|
|
// import {
|
|
|
|
// history,
|
|
|
|
// PrivateRoute,
|
|
|
|
// PublicRoute,
|
|
|
|
// Login,
|
|
|
|
// Error404,
|
|
|
|
// Offline,
|
|
|
|
// NavMenu,
|
|
|
|
// Main,
|
|
|
|
// utils,
|
|
|
|
// toastr,
|
|
|
|
// Layout,
|
|
|
|
// } from "asc-web-common";
|
2021-01-25 21:55:46 +00:00
|
|
|
// import Home from "./components/pages/Home";
|
2021-02-24 07:30:42 +00:00
|
|
|
// import { inject, observer } from "mobx-react";
|
|
|
|
// import config from "../package.json";
|
|
|
|
// import "./i18n";
|
2021-01-25 21:55:46 +00:00
|
|
|
|
|
|
|
// const About = lazy(() => import("./components/pages/About"));
|
|
|
|
// const Confirm = lazy(() => import("./components/pages/Confirm"));
|
|
|
|
// const Settings = lazy(() => import("./components/pages/Settings"));
|
|
|
|
// const Wizard = lazy(() => import("./components/pages/Wizard"));
|
|
|
|
// const Payments = lazy(() => import("./components/pages/Payments"));
|
|
|
|
// const ThirdPartyResponse = lazy(() => import("./components/pages/ThirdParty"));
|
2021-02-24 07:30:42 +00:00
|
|
|
// const ComingSoon = lazy(() => import("./components/pages/ComingSoon"));
|
|
|
|
|
|
|
|
// const App = (props) => {
|
|
|
|
// //constructor(props) {
|
|
|
|
// //super(props);
|
|
|
|
|
|
|
|
// //const pathname = window.location.pathname.toLowerCase();
|
|
|
|
// //this.isThirdPartyResponse = pathname.indexOf("thirdparty") !== -1;
|
|
|
|
// //}
|
|
|
|
|
|
|
|
// const { isLoaded, loadBaseInfo, isThirdPartyResponse } = props;
|
|
|
|
|
|
|
|
// useEffect(() => {
|
|
|
|
// try {
|
|
|
|
// loadBaseInfo();
|
|
|
|
// } catch (err) {
|
|
|
|
// toastr.error(err);
|
|
|
|
// }
|
|
|
|
// }, [loadBaseInfo]);
|
|
|
|
|
|
|
|
// useEffect(() => {
|
|
|
|
// console.log("App render", isLoaded);
|
|
|
|
// if (isLoaded) utils.updateTempContent();
|
|
|
|
// }, [isLoaded]);
|
|
|
|
|
|
|
|
// // useEffect(() => {
|
|
|
|
// // debugger;
|
|
|
|
// // utils.updateTempContent(isAuthenticated);
|
|
|
|
// // }, [isAuthenticated]);
|
|
|
|
|
|
|
|
// // if (this.isThirdPartyResponse) {
|
|
|
|
// // //setIsLoaded();
|
|
|
|
// // return;
|
|
|
|
// // }
|
|
|
|
|
|
|
|
// //utils.updateTempContent();
|
|
|
|
// //setIsLoaded();
|
|
|
|
|
|
|
|
// // const requests = [];
|
|
|
|
// // if (!isAuthenticated) {
|
|
|
|
// // requests.push(getPortalSettings());
|
|
|
|
// // } else if (
|
|
|
|
// // !window.location.pathname.includes("confirm/EmailActivation")
|
|
|
|
// // ) {
|
|
|
|
// // requests.push(getUser());
|
|
|
|
// // requests.push(getPortalSettings());
|
|
|
|
// // //requests.push(getModules());
|
|
|
|
// // }
|
|
|
|
|
|
|
|
// // Promise.all(requests)
|
|
|
|
// // .catch((e) => {
|
|
|
|
// // toastr.error(e);
|
|
|
|
// // })
|
|
|
|
// // .finally(() => {
|
|
|
|
// // utils.updateTempContent();
|
|
|
|
// // setIsLoaded();
|
|
|
|
// // });
|
|
|
|
|
|
|
|
// return navigator.onLine ? (
|
|
|
|
// <Layout>
|
|
|
|
// <Router history={history}>
|
|
|
|
// {!isThirdPartyResponse && <NavMenu />}
|
|
|
|
// <Main>
|
|
|
|
// <Suspense fallback={null}>
|
|
|
|
// <Switch>
|
|
|
|
// <Route exact path="/wizard" component={Wizard} />
|
|
|
|
// <PublicRoute
|
|
|
|
// exact
|
|
|
|
// path={[
|
|
|
|
// "/login",
|
|
|
|
// "/login/error=:error",
|
|
|
|
// "/login/confirmed-email=:confirmedEmail",
|
|
|
|
// ]}
|
|
|
|
// component={Login}
|
|
|
|
// />
|
|
|
|
// <Route path="/confirm" component={Confirm} />
|
|
|
|
// <PrivateRoute
|
|
|
|
// path={`/thirdparty/:provider`}
|
|
|
|
// component={ThirdPartyResponse}
|
|
|
|
// />
|
|
|
|
// <PrivateRoute
|
|
|
|
// exact
|
|
|
|
// path={["/", "/error=:error"]}
|
|
|
|
// component={Home}
|
|
|
|
// />
|
|
|
|
// <PrivateRoute exact path="/about" component={About} />
|
|
|
|
// <PrivateRoute restricted path="/settings" component={Settings} />
|
|
|
|
// <PrivateRoute
|
|
|
|
// exact
|
|
|
|
// path={[
|
|
|
|
// "/coming-soon",
|
|
|
|
// "/products/mail",
|
|
|
|
// "/products/projects",
|
|
|
|
// "/products/crm",
|
|
|
|
// "/products/calendar",
|
|
|
|
// "/products/talk/",
|
|
|
|
// ]}
|
|
|
|
// component={ComingSoon}
|
|
|
|
// />
|
|
|
|
// <PrivateRoute path="/payments" component={Payments} />
|
|
|
|
// <PrivateRoute component={Error404} />
|
|
|
|
// </Switch>
|
|
|
|
// </Suspense>
|
|
|
|
// </Main>
|
|
|
|
// </Router>
|
|
|
|
// </Layout>
|
|
|
|
// ) : (
|
|
|
|
// <Offline />
|
|
|
|
// );
|
2021-01-25 21:55:46 +00:00
|
|
|
// };
|
|
|
|
|
2021-02-24 07:30:42 +00:00
|
|
|
// export default inject(({ auth }) => {
|
|
|
|
// const { init, isLoaded } = auth;
|
|
|
|
|
|
|
|
// const pathname = window.location.pathname.toLowerCase();
|
|
|
|
// const isThirdPartyResponse = pathname.indexOf("thirdparty") !== -1;
|
|
|
|
|
2021-01-25 21:55:46 +00:00
|
|
|
// return {
|
2021-02-24 07:30:42 +00:00
|
|
|
// loadBaseInfo: () => {
|
|
|
|
// init();
|
|
|
|
// auth.setProductVersion(config.version);
|
|
|
|
// },
|
|
|
|
// isThirdPartyResponse,
|
|
|
|
// isLoaded,
|
2021-01-25 21:55:46 +00:00
|
|
|
// };
|
2021-02-24 07:30:42 +00:00
|
|
|
// })(observer(App));
|