14.05.2026 rip

This commit is contained in:
2026-05-14 17:54:58 +03:00
parent b4502027fa
commit 226371e0f6
2 changed files with 17 additions and 18 deletions

View File

@@ -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 { useDebounce } from '@shared/lib/hooks/useDebounce'
import { usePaymentQuote, usePaymentConfig, useCreateOrder } from '@features/payment' import { usePaymentQuote, usePaymentConfig, useCreateOrder } from '@features/payment'
import { CommissionPanel } from './CommissionPanel' import { CommissionPanel } from './CommissionPanel'
@@ -15,14 +15,11 @@ export function ConverterSection() {
const configUsdtRate = Number(config?.usdt_exchange_rate) || 0 const configUsdtRate = Number(config?.usdt_exchange_rate) || 0
const gasPriceRub = Number(config?.gas_fee) * configUsdtRate const gasPriceRub = Number(config?.gas_fee) * configUsdtRate
const usdtRate = Number(quote?.usdt_exchange_rate) || 0
const rubTotal = quote?.total_price ?? '' const rubTotal = quote?.total_price ?? ''
const rubTotalNum = Number(rubTotal) || 0 const rubTotalNum = Number(rubTotal) || 0
const tier = findTier(rubTotalNum) const commission = Number(quote?.service_fee) || 0
const commission = (rubTotalNum * tier.pct) / 100 const effectiveRate = c.numRub > 0 ? rubTotalNum / c.numRub : 0
const effectiveRate = usdtRate * (1 + tier.pct / 100)
const { mutate: submitOrder, isPending } = useCreateOrder() const { mutate: submitOrder, isPending } = useCreateOrder()

View File

@@ -1,7 +1,8 @@
import { USDT_RATE, GAS_PRICE } from '@shared/config/constants' import { USDT_RATE, GAS_PRICE } from '@shared/config/constants'
import { useConverter } from '../model/useConverter' import { useConverter } from '../model/useConverter'
import { findTier, progressPercent } from '../model/tiers' import { progressPercent } from '../model/tiers'
import { usePaymentConfig } from '@features/payment' import { usePaymentConfig, usePaymentQuote } from '@features/payment'
import { useDebounce } from '@shared/lib/hooks/useDebounce'
import { AgreementCheckbox } from './AgreementCheckbox' import { AgreementCheckbox } from './AgreementCheckbox'
import { CommissionTable } from './CommissionTable' import { CommissionTable } from './CommissionTable'
import styles from './Converter.module.css' import styles from './Converter.module.css'
@@ -15,13 +16,14 @@ export function Converter() {
const c = useConverter({ usdtRate: configUsdtRate }) const c = useConverter({ usdtRate: configUsdtRate })
// c.rubVal / c.numRub used as USDT input; RUB is computed const debouncedUsdt = useDebounce(c.numRub, 400)
const numUsdt = c.numRub const { data: quote } = usePaymentQuote(debouncedUsdt)
const approxRub = numUsdt * configUsdtRate
const { pct } = findTier(approxRub) const rubTotal = quote?.total_price ?? ''
const effectiveRate = configUsdtRate * (1 + pct / 100) const rubTotalNum = Number(rubTotal) || 0
const rubOutput = numUsdt > 0 ? (numUsdt * effectiveRate).toFixed(2) : ''
const commission = (approxRub * pct) / 100 const commission = Number(quote?.service_fee) || 0
const effectiveRate = c.numRub > 0 ? rubTotalNum / c.numRub : 0
return ( return (
<section className={styles.section} id="converter"> <section className={styles.section} id="converter">
@@ -98,7 +100,7 @@ export function Converter() {
<div className={styles.field}> <div className={styles.field}>
<div className={styles.fieldInput}> <div className={styles.fieldInput}>
<input type="text" value={rubOutput} readOnly placeholder="0" /> <input type="text" value={rubTotal} readOnly placeholder="0" />
<div className={styles.currency}> <div className={styles.currency}>
<span className={`${styles.currencyIcon} ${styles.currencyRub}`}></span> RUB <span className={`${styles.currencyIcon} ${styles.currencyRub}`}></span> RUB
</div> </div>
@@ -107,8 +109,8 @@ export function Converter() {
</div> </div>
<CommissionTable <CommissionTable
amount={approxRub} amount={rubTotalNum}
progress={progressPercent(approxRub)} progress={progressPercent(rubTotalNum)}
commission={commission} commission={commission}
effectiveRate={effectiveRate} effectiveRate={effectiveRate}
/> />