convert
This commit is contained in:
@@ -101,6 +101,12 @@
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.fieldError {
|
||||
margin-top: 8px;
|
||||
font-size: 13px;
|
||||
color: var(--error);
|
||||
}
|
||||
|
||||
.fieldLabel {
|
||||
font-size: 12px;
|
||||
letter-spacing: 2px;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { useState } from 'react'
|
||||
import { GAS_PRICE, USDT_RATE } from '@shared/config/constants'
|
||||
import { GAS_PRICE, USDT_RATE, MIN_RUB_AMOUNT } from '@shared/config/constants'
|
||||
import { useConverter } from '../model/useConverter'
|
||||
import { progressPercent } from '../model/tiers'
|
||||
import { usePaymentConfig, usePaymentQuote, usePaymentQuoteByRub } from '@features/payment'
|
||||
@@ -13,7 +13,7 @@ import { ROUTES } from '@shared/config/routes'
|
||||
export function Converter() {
|
||||
const { data: config } = usePaymentConfig()
|
||||
const [direction, setDirection] = useState<'usdt_to_rub' | 'rub_to_usdt'>('usdt_to_rub')
|
||||
const [rubInputVal, setRubInputVal] = useState('1000')
|
||||
const [rubInputVal, setRubInputVal] = useState(String(MIN_RUB_AMOUNT))
|
||||
|
||||
const configUsdtRate = Number(config?.usdt_exchange_rate) || USDT_RATE
|
||||
const gasPriceRub = Number(config?.gas_fee) || GAS_PRICE
|
||||
@@ -27,7 +27,9 @@ export function Converter() {
|
||||
|
||||
const numRubInput = Number.parseFloat(rubInputVal) || 0
|
||||
const debouncedRub = useDebounce(numRubInput, 400)
|
||||
const { data: quoteRubToUsdt } = usePaymentQuoteByRub(!isUsdtToRub ? debouncedRub : 0)
|
||||
const { data: quoteRubToUsdt, isError: quoteRubError } = usePaymentQuoteByRub(!isUsdtToRub ? debouncedRub : 0)
|
||||
|
||||
const rubBelowMin = !isUsdtToRub && numRubInput > 0 && numRubInput < MIN_RUB_AMOUNT
|
||||
|
||||
function updateRubInput(raw: string) {
|
||||
setRubInputVal(raw.replace(/[^0-9.]/g, ''))
|
||||
@@ -137,6 +139,16 @@ export function Converter() {
|
||||
<span className={`${styles.currencyIcon} ${styles.currencyRub}`}>₽</span> RUB
|
||||
</div>
|
||||
</div>
|
||||
{rubBelowMin && (
|
||||
<div className={styles.fieldError}>
|
||||
Минимальная сумма: {MIN_RUB_AMOUNT.toLocaleString('ru-RU')} ₽
|
||||
</div>
|
||||
)}
|
||||
{quoteRubError && !rubBelowMin && (
|
||||
<div className={styles.fieldError}>
|
||||
Сумма слишком большая и превышает 600 000 ₽
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
<div className={styles.swapWrap}>
|
||||
|
||||
Reference in New Issue
Block a user