WHallWheel.jsx 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. import Fade from "@mui/material/Fade";
  2. import {ClickAwayListener} from "@mui/base/ClickAwayListener";
  3. import Grow from "@mui/material/Grow";
  4. import WWheel from "@widgets/WCashWheel/WWheel/WWheel";
  5. import Modal from "@mui/material/Modal";
  6. import styles from "./styles.module.scss";
  7. import WShare from "@widgets/WCashWheel/WShare/WShare";
  8. import React, {useState} from "react";
  9. import WRetainPop from "@widgets/WCashWheel/WRetainPop/WRetainPop";
  10. import {localStorageGet, localStorageSet} from "@utils/helpers";
  11. import {LOCAL_WHEEL_RETAIN} from "@constants/localkey";
  12. import {useSelector} from "react-redux";
  13. import {isLogined} from "@features/mainSlice";
  14. import {getTurnplate} from "@features/turnplateSlice";
  15. const WHallWheel=({open,onClose})=>{
  16. const [openShare,setOpenShare]=useState(false);
  17. const [openRetain,setOpenRetain]=useState(false);
  18. const isLogin=useSelector(isLogined);
  19. const turnplate=useSelector(getTurnplate);
  20. const onCheckClose=()=>{
  21. let isclose=true;
  22. if (isLogin){
  23. if (turnplate!=null){
  24. let collect_amount=turnplate.collect_amount;
  25. let total_amount=turnplate.total_amount;
  26. if (collect_amount>0&&collect_amount<total_amount){
  27. let lsttime=localStorageGet(LOCAL_WHEEL_RETAIN,"0");
  28. lsttime=Number(lsttime);
  29. let now=Date.now();
  30. let dis=now-lsttime;
  31. // dis+=86400000;
  32. if (dis>86400000){
  33. setOpenRetain(true);
  34. isclose=false;
  35. }
  36. }
  37. }
  38. }
  39. if (isclose){
  40. if (onClose)onClose();
  41. }
  42. }
  43. const renderShare=()=>{
  44. return (
  45. <WShare open={openShare} onClose={()=>{
  46. setOpenShare(false);
  47. }}></WShare>
  48. )
  49. }
  50. const renderRetainPop=()=>{
  51. return (
  52. <WRetainPop open={openRetain} onClose={()=>{
  53. setOpenRetain(false);
  54. }} openShare={openShareBox} closeP={()=>{
  55. localStorageSet(LOCAL_WHEEL_RETAIN,Date.now())
  56. if (onClose)onClose();
  57. }}></WRetainPop>
  58. )
  59. }
  60. const openShareBox=()=>{
  61. setOpenShare(true);
  62. }
  63. return (
  64. <>
  65. <Modal open={open} onClose={onCheckClose} closeAfterTransition>
  66. <Fade in={open} timeout={500}>
  67. <div className={styles.container}>
  68. {/*<ClickAwayListener onClickAway={onCheckClose}>*/}
  69. <ClickAwayListener onClickAway={()=>{
  70. onCheckClose()
  71. }}>
  72. <Grow in={open} timeout={500}>
  73. <div className={styles.content}>
  74. <button className={styles.close} onClick={onCheckClose} aria-label="Close popup">
  75. <i className="icon-xmark"/>
  76. </button>
  77. <WWheel showShare={false} openShare={openShareBox} onClose={onClose}></WWheel>
  78. </div>
  79. </Grow>
  80. </ClickAwayListener>
  81. </div>
  82. </Fade>
  83. </Modal>
  84. {renderShare()}
  85. {renderRetainPop()}
  86. </>
  87. )
  88. }
  89. export default WHallWheel;