dev
dart 37 lines 1.11 KB
Raw
1 import 'package:cake_wallet/entities/bridge_transfer.dart';
2 import 'package:cake_wallet/store/app_store.dart';
3 import 'package:cake_wallet/store/bridge_transfers_store.dart';
4 import 'package:mobx/mobx.dart';
5
6 part 'bridge_history_view_model.g.dart';
7
8 class BridgeHistoryViewModel = BridgeHistoryViewModelBase with _$BridgeHistoryViewModel;
9
10 abstract class BridgeHistoryViewModelBase with Store {
11 BridgeHistoryViewModelBase({
12 required this.bridgeTransfersStore,
13 required this.appStore,
14 });
15
16 final BridgeTransfersStore bridgeTransfersStore;
17 final AppStore appStore;
18
19 @computed
20 List<BridgeTransfer> get walletTransfers {
21 final wallet = appStore.wallet;
22 if (wallet == null) return [];
23
24 return bridgeTransfersStore.bridgeTransfers.where((t) => t.walletId == wallet.name).toList();
25 }
26
27 @computed
28 List<BridgeTransfer> get activeTransfers =>
29 walletTransfers.where((b) => b.isActive).toList(growable: false);
30
31 @computed
32 List<BridgeTransfer> get pastTransfers =>
33 walletTransfers.where((b) => !b.isActive).toList(growable: false);
34
35 @computed
36 bool get isEmpty => walletTransfers.isEmpty;
37 }