db_kyc_project/frontend/src/shared/Auction/ResultAuctionPopup/ResultAuctionPopup.tsx

64 lines
2.2 KiB
TypeScript
Raw Normal View History

2024-11-18 16:33:44 +03:00
import React, { useEffect, useState } from 'react';
import styles from './resultauctionpopup.module.css';
import { declension } from '../../../utils/declension';
import { ETextStyles } from '../../texts';
import { PointsBlock } from '../../Elements/PointsBlock';
import { Button } from '../../Button';
interface IResultAuctionPopup {
prevBet: string,
prevMyBet: number,
newBet: number,
setBet(a: number): void,
setClose(a: boolean): void,
setCloseBetWindow(a: boolean): void
setPrevBet(a: string): void,
}
export function ResultAuctionPopup({ prevBet, prevMyBet, newBet, setBet, setClose, setCloseBetWindow, setPrevBet }: IResultAuctionPopup) {
const [diff, setDiff] = useState(0);
const [prevBetOld, setPrevBetOld] = useState(prevBet);
2024-12-13 02:46:21 +03:00
const [prevMyOldBet, setPrevMyOld] = useState(prevMyBet);
2024-11-18 16:33:44 +03:00
useEffect(() => {
2024-12-13 02:46:21 +03:00
if (prevMyOldBet > 0) {
setDiff(newBet - prevMyOldBet);
} else {
setDiff(newBet - Number(prevBetOld));
}
2024-11-18 16:33:44 +03:00
setBet(newBet);
2024-12-13 02:46:21 +03:00
setPrevBet(newBet.toString());
2024-11-18 16:33:44 +03:00
}, []);
const onClick = () => {
setClose(true);
const timer = setInterval(() => {
setCloseBetWindow(false);
clearInterval(timer);
}, 400);
};
return (
<div>
<div className={styles.topIcon}>
<div className={styles.icon} style={{backgroundImage: 'url("assets/Money.png")'}}></div>
</div>
<div className={styles.text} style={ETextStyles.InSb24100}>
2024-12-13 02:46:21 +03:00
Вы <span>{prevMyOldBet > 0 ? 'увеличили' : 'перебили'}</span> ставку <span>{`на ${diff.toFixed(2)}`}</span> {declension(diff.toFixed(2), 'коин', 'коина', 'коинов')}
2024-11-18 16:33:44 +03:00
</div>
<div className={styles.cards}>
<div className={styles.card}>
<p style={ETextStyles.RwSb16120}>Сколько вы потратили</p>
<PointsBlock left={true} points={newBet.toString()} className={styles.colorPoints}/>
</div>
<div className={styles.card}>
<p style={ETextStyles.RwSb16120}>Предыдущая ставка</p>
<PointsBlock left={true} points={prevBetOld.toString()} />
</div>
</div>
<Button text='Увеличить шанс на выигрыш' onClick={() => onClick()}/>
</div>
);
}