dev
dart 33 lines 947 Bytes
Raw
1 import 'package:cake_wallet/generated/i18n.dart';
2 import 'package:cake_wallet/view_model/dashboard/action_list_item.dart';
3 import 'package:cw_core/payjoin_session.dart';
4 import 'package:cw_core/transaction_info.dart';
5
6 class PayjoinTransactionListItem extends ActionListItem {
7 PayjoinTransactionListItem({
8 required this.sessionId,
9 required this.session,
10 required super.key,
11 });
12
13 final String sessionId;
14 final PayjoinSession session;
15 TransactionInfo? transaction;
16
17 @override
18 DateTime get date => session.inProgressSince!;
19
20 String get status {
21 switch (session.status) {
22 case 'success':
23 if (transaction?.isPending == false) return S.current.successful;
24 return S.current.payjoin_request_awaiting_tx;
25 case 'inProgress':
26 return S.current.payjoin_request_in_progress;
27 case 'unrecoverable':
28 return S.current.error;
29 default:
30 return session.status;
31 }
32 }
33 }