diff --git a/src/client/Components/Result.jsx b/src/client/Components/Result.jsx
new file mode 100644
index 0000000..2b6ed63
--- /dev/null
+++ b/src/client/Components/Result.jsx
@@ -0,0 +1,9 @@
+import { Result } from 'antd';
+import React from 'react';
+
+export default {
+ 404: () => ,
+ 500: () => (
+
+ ),
+};
diff --git a/src/client/Components/Result/NotFound.js b/src/client/Components/Result/NotFound.js
deleted file mode 100644
index 661cffc..0000000
--- a/src/client/Components/Result/NotFound.js
+++ /dev/null
@@ -1 +0,0 @@
-export { NotFound as default } from '.';
diff --git a/src/client/Components/Result/ServerError.js b/src/client/Components/Result/ServerError.js
deleted file mode 100644
index a8fb54f..0000000
--- a/src/client/Components/Result/ServerError.js
+++ /dev/null
@@ -1 +0,0 @@
-export { ServerError as default } from '.';
diff --git a/src/client/Components/Result/index.jsx b/src/client/Components/Result/index.jsx
deleted file mode 100644
index fd883dd..0000000
--- a/src/client/Components/Result/index.jsx
+++ /dev/null
@@ -1,10 +0,0 @@
-import React from 'react';
-import { Result, Button } from 'antd';
-
-export const NotFound = () => (
-
-);
-
-export const ServerError = () => (
-
-);
diff --git a/src/client/Components/Spinner.jsx b/src/client/Components/Spinner.jsx
new file mode 100644
index 0000000..65238a4
--- /dev/null
+++ b/src/client/Components/Spinner.jsx
@@ -0,0 +1,11 @@
+import React from 'react';
+import { Box, Flex } from 'client/UIKit/grid';
+import { Spin } from 'antd';
+
+export default () => (
+
+
+
+
+
+);
diff --git a/src/client/Containers/Calculation/index.jsx b/src/client/Containers/Calculation/index.jsx
index e5eb53a..12d5448 100644
--- a/src/client/Containers/Calculation/index.jsx
+++ b/src/client/Containers/Calculation/index.jsx
@@ -1,16 +1,16 @@
-import { Spin } from 'antd';
import { LoadingStatus } from 'client/common/loadingStatus';
+import Spinner from 'client/Components/Spinner';
import { withStoreModal } from 'client/hocs/withStore';
import { useStores } from 'client/hooks/useStores';
import CalculationService from 'client/services/CalculationService';
import { Box, Flex } from 'client/UIKit/grid';
import initialOptionsMap from 'core/Data/initialOptionsMap';
import staticEntitiesList from 'core/Data/staticEntitiesList';
-import React, { lazy, Suspense, useEffect, useState } from 'react';
-const Results = lazy(() => import('./Results'));
-const Sections = lazy(() => import('./Sections'));
-const ServerError = lazy(() => import('client/Components/Result/ServerError'));
-const Modal = lazy(() => import('client/Elements/Modal'));
+import React, { useEffect, useState } from 'react';
+import Result from 'client/Components/Result';
+import Modal from 'client/Elements/Modal';
+import Results from './Results';
+import Sections from './Sections';
const Calculation = () => {
const [status, setStatus] = useState(LoadingStatus.loading);
@@ -45,28 +45,18 @@ const Calculation = () => {
},
)
.catch(err => {
- console.log('Calculation -> err', err);
setStatus(LoadingStatus.error);
throw err;
});
}, []);
if (status === LoadingStatus.loading) {
- return (
-
-
-
-
-
- );
+ return ;
}
if (status === LoadingStatus.error) {
- return (
-
-
-
- );
+ const ServerError = Result[500];
+ return ;
}
const ModalComponent = withStoreModal(Modal);
diff --git a/src/client/Layout/index.jsx b/src/client/Layout/index.jsx
index 6e1bb8b..a99a13f 100644
--- a/src/client/Layout/index.jsx
+++ b/src/client/Layout/index.jsx
@@ -6,6 +6,7 @@ import React, { Suspense } from 'react';
import { Route, Switch } from 'react-router-dom';
import styled from 'styled-components';
import Logo from './Logo';
+import Spinner from 'client/Components/Spinner';
const HeaderContent = styled(Flex)`
background: ${`linear-gradient(90deg,
@@ -58,10 +59,9 @@ const Header = () => (
);
-//TODO: fallback
const Content = () => (
-
+ }>
{paths.map((path, i) => (
import('client/Components/Result/NotFound'));
+const NotFound = React.lazy(() =>
+ import('client/Components/Result').then(module => ({
+ default: module.default[404],
+ })),
+);
const Calculation = React.lazy(() => import('client/Containers/Calculation'));
const paths = [