From 24e1b8f4ef7dda406f94ecf77cfbfc73b94d046c Mon Sep 17 00:00:00 2001 From: Denozordec Date: Mon, 23 Mar 2026 23:05:34 +0700 Subject: [PATCH] =?UTF-8?q?fix(currency):=20=D0=B3=D0=BB=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=BB=D1=8C=D0=BD=D1=8B=D0=B9=20=D0=BA=D1=83=D1=80=D1=81=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D0=BD=D1=83=D0=BB=D0=B5=D0=B2=D0=BE=D0=B9?= =?UTF-8?q?=20=D1=81=D1=83=D0=BC=D0=BC=D0=B5=20(=D0=BD=D0=B5=20=C2=AB?= =?UTF-8?q?=D0=BA=D1=83=D1=80=D1=81=D1=8B=20=D0=BD=D0=B5=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=B3=D1=80=D1=83=D0=B6=D0=B5=D0=BD=D1=8B=C2=BB)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made-with: Cursor --- src/lib/utils.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/lib/utils.js b/src/lib/utils.js index 61a3231..227cd0b 100644 --- a/src/lib/utils.js +++ b/src/lib/utils.js @@ -342,11 +342,15 @@ export function convertWithProviderRate(amount, currency, provider, appSettings, } const converted = convertCurrency(safeAmount, fromCurrency, appBase, ratesData) - const didConvert = Math.abs(converted - safeAmount) > 0.0001 || fromCurrency === appBase + // При сумме 0 convertCurrency даёт 0 = исходной сумме — нельзя отличить «успех» от сбоя. + // Проверяем конвертацию 1 единицы: при отсутствии курсов convertCurrency возвращает 1 без изменений. + const oneConverted = convertCurrency(1, fromCurrency, appBase, ratesData) + const globalRatesWork = + Number.isFinite(oneConverted) && Math.abs(oneConverted - 1) > 1e-8 return { value: converted, currency: appBase, - source: didConvert ? 'global' : 'no-rates', + source: globalRatesWork ? 'global' : 'no-rates', } }