exchange currency selection duplicate currency fix

This commit is contained in:
julian 2023-02-21 14:09:13 -06:00
parent 812897a3cb
commit a358edf1ce

View file

@ -135,11 +135,11 @@ class _ExchangeCurrencySelectionViewState
currencies.addAll(cn.value!);
}
return currencies;
return _getDistinctCurrenciesFrom(currencies);
}
Future<List<Currency>> _getCurrencies() async {
return ExchangeDataLoadingService.instance.isar.currencies
final currencies = await ExchangeDataLoadingService.instance.isar.currencies
.where()
.filter()
.isFiatEqualTo(false)
@ -155,8 +155,19 @@ class _ExchangeCurrencySelectionViewState
.rateTypeEqualTo(SupportedRateType.estimated))
.sortByIsStackCoin()
.thenByName()
.distinctByTicker(caseSensitive: false)
.findAll();
return _getDistinctCurrenciesFrom(currencies);
}
List<Currency> _getDistinctCurrenciesFrom(List<Currency> currencies) {
final List<Currency> distinctCurrencies = [];
for (final currency in currencies) {
if (!distinctCurrencies.any((e) => e.ticker == currency.ticker)) {
distinctCurrencies.add(currency);
}
}
return distinctCurrencies;
}
List<Currency> filter(String text) {