preloader.js 808 B

123456789101112131415161718192021222324252627
  1. import logo from "../../logo.png";
  2. import './preloader.css'
  3. import {connect} from "react-redux";
  4. export const Preloader = () =>
  5. <div className="loadingio-spinner-eclipse-leb3x7lyjtj">
  6. <div className="ldio-vhhfhwlovld">
  7. <div></div>
  8. </div>
  9. </div>
  10. const RejectAlert = ({error}) =>
  11. <div>
  12. <h2>{error}</h2>
  13. <img src={logo} alt='logo'/>
  14. </div>
  15. export const Preloaded = ({promiseName, promiseState, children}) =>
  16. <>
  17. {promiseState[promiseName]?.status === 'RESOLVED' ? children :
  18. promiseState[promiseName]?.status === 'REJECTED' ?
  19. <RejectAlert error={promiseState[promiseName]?.error}/>:
  20. <Preloader/>}
  21. </>
  22. export const CPreloaded = connect(state => ({promiseState: state.promise}))(Preloaded)