diff --git a/src/widgets/converter-page/ui/ConverterSection.tsx b/src/widgets/converter-page/ui/ConverterSection.tsx index 7b6667a..55a95bf 100644 --- a/src/widgets/converter-page/ui/ConverterSection.tsx +++ b/src/widgets/converter-page/ui/ConverterSection.tsx @@ -1,6 +1,6 @@ import { useConverter, progressPercent, findTier } from '@widgets/currency-converter' import { useDebounce } from '@shared/lib/hooks/useDebounce' -import { usePaymentQuote, useCreateOrder } from '@features/payment' +import { usePaymentQuote, usePaymentConfig, useCreateOrder } from '@features/payment' import { CommissionPanel } from './CommissionPanel' import { AgreementCheck } from './AgreementCheck' import styles from './ConverterSection.module.css' @@ -10,9 +10,12 @@ export function ConverterSection() { const debouncedUsdt = useDebounce(c.numRub, 400) const { data: quote, isError: quoteError } = usePaymentQuote(debouncedUsdt) + const { data: config } = usePaymentConfig() + + const configUsdtRate = Number(config?.usdt_exchange_rate) || 0 + const gasPriceRub = Number(config?.gas_fee) * configUsdtRate 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 @@ -41,10 +44,10 @@ export function ConverterSection() {
- Цена газа в RUB {gasPrice.toFixed(2)} RUB + Цена газа в RUB {gasPriceRub.toFixed(2)} RUB
- USDT/RUB {usdtRate.toFixed(2)} ₽ + USDT/RUB {configUsdtRate.toFixed(2)} ₽
diff --git a/src/widgets/currency-converter/ui/Converter.tsx b/src/widgets/currency-converter/ui/Converter.tsx index 38804e5..b93342e 100644 --- a/src/widgets/currency-converter/ui/Converter.tsx +++ b/src/widgets/currency-converter/ui/Converter.tsx @@ -1,19 +1,25 @@ -import { GAS_PRICE, USDT_RATE } from '@shared/config/constants' +import { USDT_RATE, GAS_PRICE } from '@shared/config/constants' import { useConverter } from '../model/useConverter' import { findTier, progressPercent } from '../model/tiers' +import { usePaymentConfig } from '@features/payment' import { AgreementCheckbox } from './AgreementCheckbox' import { CommissionTable } from './CommissionTable' import styles from './Converter.module.css' import { Title } from '@shared/ui/Title/Title' export function Converter() { - const c = useConverter({ usdtRate: USDT_RATE }) + const { data: config } = usePaymentConfig() + + const configUsdtRate = Number(config?.usdt_exchange_rate) || USDT_RATE + const gasPriceRub = Number(config?.gas_fee) * configUsdtRate || GAS_PRICE + + const c = useConverter({ usdtRate: configUsdtRate }) // c.rubVal / c.numRub used as USDT input; RUB is computed const numUsdt = c.numRub - const approxRub = numUsdt * USDT_RATE + const approxRub = numUsdt * configUsdtRate const { pct } = findTier(approxRub) - const effectiveRate = USDT_RATE * (1 + pct / 100) + const effectiveRate = configUsdtRate * (1 + pct / 100) const rubOutput = numUsdt > 0 ? (numUsdt * effectiveRate).toFixed(2) : '' const commission = (approxRub * pct) / 100 @@ -27,10 +33,10 @@ export function Converter() {
- Цена газа в RUB {GAS_PRICE.toFixed(2)} RUB + Цена газа в RUB {gasPriceRub.toFixed(2)} RUB
- USDT/RUB {USDT_RATE.toFixed(2)} ₽ + USDT/RUB {configUsdtRate.toFixed(2)} ₽