import styles from "./styles.module.scss"; import Spring from "@components/Spring"; import React, {useEffect, useState} from "react"; import {useNavigate} from "react-router-dom"; import {useSelector} from "react-redux"; import {getUserInfo} from "@features/mainSlice"; import {getCurrPayOrder} from "@features/paySlice"; import {ReactComponent as PixLogo} from '@assets/singlesvg/pix.svg'; import {formatDate, formatTime, stringFormat} from "@utils/helpers"; import SvgIcon from "@components/SvgIcon"; import {CopyToClipboard} from "react-copy-to-clipboard"; import {toast} from "react-toastify"; import QRCode from 'qrcode.react'; import {ReactComponent as SuccessIcon} from "@assets/singlesvg/succss.svg"; import WOrderSuccess from "@widgets/WPaymentOrder/WOrderSuccess"; const i18n=global.i18n; const BRPayOrder=({close})=>{ const navigate=useNavigate(); const user=useSelector(getUserInfo); const orderInfo=useSelector(getCurrPayOrder); const [leftTime,setLeftTime]=useState(0); const getLeftTime=()=>{ if (orderInfo==null)return 0; let deadline=Number(orderInfo.deadline); let createAt=Number(orderInfo.createAt); let expireAt=createAt+deadline*1000; let now=Date.now(); let left=expireAt-now; if (left<0)left=0; return left; } const updateLeftTime=(timer)=>{ let left=getLeftTime(); setLeftTime(left); if (left<=0){ clearInterval(timer); timer=null; if (close)close(); } return timer; } useEffect(()=>{ let timer=null; if (orderInfo){ setLeftTime(getLeftTime()); timer=setInterval(()=>{ timer=updateLeftTime(timer); },1000) } return () => { if (timer!=null){ clearInterval(timer); timer=null; } }; },[orderInfo]) const renderTitle=()=>{ return (