All files / app/ui/loading LazyContainer.tsx

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3175x   75x 75x   75x 75x           75x   396x                             75x  
import React, { FunctionComponent, ReactNode, Suspense } from 'react';
 
import { ErrorBoundary } from '../../common/error';
import { TranslatedString } from '../../locale';
 
import './LazyContainer.scss';
import LoadingSpinner from './LoadingSpinner';
 
export interface LazyContainerProps {
    children: ReactNode;
}
 
const filterError = (error: Error) => error.name === 'ChunkLoadError';
 
const LazyContainer: FunctionComponent<LazyContainerProps> = ({ children }) => (
    <ErrorBoundary
        fallback={
            <div className="lazyContainer-error">
                <TranslatedString id="common.unstable_network_error" />
            </div>
        }
        filter={ filterError }
    >
        <Suspense fallback={ <LoadingSpinner isLoading /> }>
            { children }
        </Suspense>
    </ErrorBoundary>
);
 
export default LazyContainer;