import { FC, useEffect, useState } from 'react'; import { NotificationUtilities } from '../../api'; import { Base, Column } from '../../common'; interface LoadingViewProps { isError: boolean; message: string; percent: number; } export const LoadingView: FC = props => { const { isError = false, message = '', percent = 0 } = props; const [ loadingShowing, setLoadingShowing ] = useState(false); useEffect(() => { if(!isError) return; NotificationUtilities.simpleAlert(message, null, null, null, 'Connection Error'); }, [ isError, message ]); useEffect(() => { const timeout = setTimeout(() => setLoadingShowing(true), 500); return () => clearTimeout(timeout); }, []); return (
{ isError && (message && message.length) ? {message} : <> {percent.toFixed()}%
}
); }