fix(currency): глобальный курс при нулевой сумме (не «курсы не загружены»)

Made-with: Cursor
This commit is contained in:
Denozordec
2026-03-23 23:05:34 +07:00
parent 0b4507e2d2
commit 24e1b8f4ef
+6 -2
View File
@@ -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',
}
}