Add full page loader

This commit is contained in:
soupette 2018-06-13 10:39:50 +02:00
parent 1536896f62
commit 84871a0fd5
7 changed files with 48 additions and 10 deletions

View File

@ -3,9 +3,9 @@
*/
import Loadable from 'react-loadable';
import LoadingIndicator from 'components/LoadingIndicator';
import LoadingIndicatorPage from 'components/LoadingIndicatorPage';
export default Loadable({
loader: () => import('./index'),
loading: LoadingIndicator,
loading: LoadingIndicatorPage,
});

View File

@ -1,8 +1,8 @@
import Loadable from 'react-loadable';
import LoadingIndicator from 'components/LoadingIndicator';
import LoadingIndicatorPage from 'components/LoadingIndicatorPage';
export default Loadable({
loader: () => import('./index'),
loading: LoadingIndicator,
loading: LoadingIndicatorPage,
});

View File

@ -1,8 +1,8 @@
import Loadable from 'react-loadable';
import LoadingIndicator from 'components/LoadingIndicator';
import LoadingIndicatorPage from 'components/LoadingIndicatorPage';
export default Loadable({
loader: () => import('./index'),
loading: LoadingIndicator,
loading: LoadingIndicatorPage,
});

View File

@ -1,8 +1,8 @@
import Loadable from 'react-loadable';
import LoadingIndicator from 'components/LoadingIndicator';
import LoadingIndicatorPage from 'components/LoadingIndicatorPage';
export default Loadable({
loader: () => import('./index'),
loading: LoadingIndicator,
loading: LoadingIndicatorPage,
});

View File

@ -12,14 +12,14 @@ import './public-path.js'; // eslint-disable-line import/extensions
import React from 'react';
import Loadable from 'react-loadable';
import { Provider } from 'react-redux';
import LoadingIndicator from 'components/LoadingIndicator';
import LoadingIndicatorPage from 'components/LoadingIndicatorPage';
import configureStore from './store';
import { translationMessages } from './i18n';
const LoadableApp = Loadable({
loader: () => import('containers/App'),
loading: LoadingIndicator,
loading: LoadingIndicatorPage,
});
const tryRequireRoot = (source) => {

View File

@ -0,0 +1,17 @@
/**
*
* LoadingIndicatorPage
*
*/
import React from 'react';
import styles from './styles.scss';
const LoadingIndicatorPage = () => {
return (
<div className={styles.loaderPage}><div /></div>
);
};
export default LoadingIndicatorPage;

View File

@ -0,0 +1,21 @@
.loaderPage {
display: flex;
flex-direction: column;
justify-content: space-around;
width: 100%;
height: 100vh;
> div {
margin: auto;
border: 6px solid #f3f3f3; /* Light grey */
border-top: 6px solid #3498db; /* Blue */
border-radius: 50%;
width: 50px;
height: 50px;
animation: spin 2s linear infinite;
}
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}