import React from 'react' | |
import { createPortal } from 'react-dom' | |
import { Loader, Title } from '@mantine/core' | |
import PropTypes from 'prop-types'; | |
import loaderImage from '/assets/images/chess_board_loader.png' | |
const MainLoader = ({ errorMessage }) => { | |
return ( | |
<> | |
{ | |
createPortal(<div style={{ position: 'absolute', backgroundColor: '#272321', width: '100vw', height: '100vh', top: 0, left: 0, display: 'flex', flexDirection: 'column', placeItems: 'center', zIndex: 1000 }}> | |
<img draggable='false' alt='chessboard' src={loaderImage} style={{ width: '300px', height: '300px', marginTop: '180px', display: 'block' }} /> | |
{ | |
errorMessage | |
? | |
<Title style={{ color: 'red', fontSize: '120%' }}> | |
{errorMessage} | |
</Title> | |
: | |
<Loader variant='bars' /> | |
} | |
</div>, document.querySelector('#main-loader')) | |
} | |
</> | |
) | |
} | |
MainLoader.propTypes = { | |
errorMessage: PropTypes.string | |
} | |
export default MainLoader |