import 'package:cake_wallet/di.dart'; import 'package:cake_wallet/store/settings_store.dart'; import 'package:mobx/mobx.dart'; import 'package:cake_wallet/entities/fiat_currency.dart'; part 'buy_amount_view_model.g.dart'; class BuyAmountViewModel = BuyAmountViewModelBase with _$BuyAmountViewModel; abstract class BuyAmountViewModelBase with Store { BuyAmountViewModelBase() { amount = ''; int selectedIndex = FiatCurrency.currenciesAvailableToBuyWith .indexOf(getIt.get().fiatCurrency); if (selectedIndex == -1) { selectedIndex = FiatCurrency.currenciesAvailableToBuyWith .indexOf(FiatCurrency.usd); } fiatCurrency = FiatCurrency.currenciesAvailableToBuyWith[selectedIndex]; } @observable String amount; @observable FiatCurrency fiatCurrency; @computed double get doubleAmount { double _amount; try { _amount = double.parse(amount.replaceAll(',', '.')) ?? 0.0; } catch (e) { _amount = 0.0; } return _amount; } }