From 226371e0f6978484fc4852c663975d256d687ae6 Mon Sep 17 00:00:00 2001 From: rassadin11 Date: Thu, 14 May 2026 17:54:58 +0300 Subject: [PATCH] 14.05.2026 rip --- .../converter-page/ui/ConverterSection.tsx | 9 +++---- .../currency-converter/ui/Converter.tsx | 26 ++++++++++--------- 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/src/widgets/converter-page/ui/ConverterSection.tsx b/src/widgets/converter-page/ui/ConverterSection.tsx index 55a95bf..b9acedb 100644 --- a/src/widgets/converter-page/ui/ConverterSection.tsx +++ b/src/widgets/converter-page/ui/ConverterSection.tsx @@ -1,4 +1,4 @@ -import { useConverter, progressPercent, findTier } from '@widgets/currency-converter' +import { useConverter, progressPercent } from '@widgets/currency-converter' import { useDebounce } from '@shared/lib/hooks/useDebounce' import { usePaymentQuote, usePaymentConfig, useCreateOrder } from '@features/payment' import { CommissionPanel } from './CommissionPanel' @@ -15,14 +15,11 @@ export function ConverterSection() { const configUsdtRate = Number(config?.usdt_exchange_rate) || 0 const gasPriceRub = Number(config?.gas_fee) * configUsdtRate - const usdtRate = Number(quote?.usdt_exchange_rate) || 0 - const rubTotal = quote?.total_price ?? '' const rubTotalNum = Number(rubTotal) || 0 - const tier = findTier(rubTotalNum) - const commission = (rubTotalNum * tier.pct) / 100 - const effectiveRate = usdtRate * (1 + tier.pct / 100) + const commission = Number(quote?.service_fee) || 0 + const effectiveRate = c.numRub > 0 ? rubTotalNum / c.numRub : 0 const { mutate: submitOrder, isPending } = useCreateOrder() diff --git a/src/widgets/currency-converter/ui/Converter.tsx b/src/widgets/currency-converter/ui/Converter.tsx index b93342e..53db3d3 100644 --- a/src/widgets/currency-converter/ui/Converter.tsx +++ b/src/widgets/currency-converter/ui/Converter.tsx @@ -1,7 +1,8 @@ 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 { progressPercent } from '../model/tiers' +import { usePaymentConfig, usePaymentQuote } from '@features/payment' +import { useDebounce } from '@shared/lib/hooks/useDebounce' import { AgreementCheckbox } from './AgreementCheckbox' import { CommissionTable } from './CommissionTable' import styles from './Converter.module.css' @@ -15,13 +16,14 @@ export function Converter() { const c = useConverter({ usdtRate: configUsdtRate }) - // c.rubVal / c.numRub used as USDT input; RUB is computed - const numUsdt = c.numRub - const approxRub = numUsdt * configUsdtRate - const { pct } = findTier(approxRub) - const effectiveRate = configUsdtRate * (1 + pct / 100) - const rubOutput = numUsdt > 0 ? (numUsdt * effectiveRate).toFixed(2) : '' - const commission = (approxRub * pct) / 100 + const debouncedUsdt = useDebounce(c.numRub, 400) + const { data: quote } = usePaymentQuote(debouncedUsdt) + + const rubTotal = quote?.total_price ?? '' + const rubTotalNum = Number(rubTotal) || 0 + + const commission = Number(quote?.service_fee) || 0 + const effectiveRate = c.numRub > 0 ? rubTotalNum / c.numRub : 0 return (
@@ -98,7 +100,7 @@ export function Converter() {
- +
RUB
@@ -107,8 +109,8 @@ export function Converter() {