import { useConverter, progressPercent } from '@widgets/currency-converter' import { useDebounce } from '@shared/lib/hooks/useDebounce' import { usePaymentQuote, useCreateOrder } from '@features/payment' import { CommissionPanel } from './CommissionPanel' import { AgreementCheck } from './AgreementCheck' import styles from './ConverterSection.module.css' export function ConverterSection() { const c = useConverter({ usdtRate: 0 }) const debouncedUsdt = useDebounce(c.numRub, 400) const { data: quote, isError: quoteError } = usePaymentQuote(debouncedUsdt) const usdtRate = Number(quote?.usdt_exchange_rate) || 0 const gasPrice = Number(quote?.gas_fee) || 0 const rubTotal = quote?.total_price ?? '' const rubTotalNum = Number(rubTotal) || 0 const { mutate: submitOrder, isPending } = useCreateOrder() function handlePay() { submitOrder({ usdt_amount: c.numRub, usdt_exchange_rate: 1, gas_fee: 1, total_price: Number(rubTotal) || 0, }) } return (

Конвертация

Данные обновляются в реальном времени
Цена газа в RUB {gasPrice.toFixed(2)} RUB
USDT/RUB {usdtRate.toFixed(2)} ₽
Конвертируете
c.updateRub(e.target.value)} placeholder="0" inputMode="decimal" />
USDT
{quoteError && (
Сумма слишком большая и превышает 600 000 ₽
)}
Платите
RUB
c.setAgreed(!c.agreed)} />
) }