diff --git a/packages/webapp/src/app.tsx b/packages/webapp/src/app.tsx
index 1c52ba9d..e96f29c0 100644
--- a/packages/webapp/src/app.tsx
+++ b/packages/webapp/src/app.tsx
@@ -1,7 +1,6 @@
-import React, { ReactElement } from 'react';
+import React, { ReactElement, Suspense } from 'react';
import { IntlProvider } from 'react-intl';
import { Route, Switch, Redirect, BrowserRouter as Router } from 'react-router-dom';
-import RegistrationSuccessPage from './components/registration-success-page';
import ForgotPasswordSuccessPage from './components/forgot-password-success-page';
import RegistationPage from './components/registration-page';
import LoginPage from './components/login-page';
@@ -11,14 +10,16 @@ import { Provider } from 'react-redux';
import { QueryClient, QueryClientProvider } from 'react-query';
import { theme } from './theme';
import AppI18n, { Locales } from './classes/app-i18n';
-import MapsPage from './components/maps-page';
import CssBaseline from '@mui/material/CssBaseline';
import { ThemeProvider, Theme, StyledEngineProvider } from '@mui/material/styles';
import ReactGA from 'react-ga4';
-import EditorPage from './components/editor-page';
import AppConfig from './classes/app-config';
import withSessionExpirationHandling from './components/HOCs/withSessionExpirationHandling';
+const EditorPage = React.lazy(() => import('./components/editor-page'));
+const RegistrationSuccessPage = React.lazy(() => import('./components/registration-success-page'));
+const MapsPage = React.lazy(() => import('./components/maps-page'));
+
declare module '@mui/styles/defaultTheme' {
// eslint-disable-next-line @typescript-eslint/no-empty-interface
interface DefaultTheme extends Theme {}
@@ -65,16 +66,20 @@ const App = (): ReactElement => {
-
+
+ }>
+
+
+
-
+ }>
+
+
-
+ }>
+
+
diff --git a/packages/webapp/webpack.common.js b/packages/webapp/webpack.common.js
index b3eb52a3..f182dcca 100644
--- a/packages/webapp/webpack.common.js
+++ b/packages/webapp/webpack.common.js
@@ -38,6 +38,10 @@ module.exports = {
},
optimization: {
usedExports: true,
+<<<<<<< HEAD
+=======
+ chunkIds: 'named',
+>>>>>>> feature/lazy_load
splitChunks: {
cacheGroups: {
vendors: {