CW-379-Investigate-trade-ID-status-updates (#930)

* cancel Anonpay updateInvoice timer * Remove un-needed dependency injection of anonpayDetailsViewModel since it can be accessed via the parent class [skip ci] --------- Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>

Serhii committed May 24, 2023 at 19:12 UTC 18ba72400972cfc7b1430ee36904ff31190eb302
1 file changed +31 -13
lib/src/screens/anonpay_details/anonpay_details_page.dart
+31 -13
@@ -20,13 +20,33 @@ class AnonpayDetailsPage extends BasePage {
20 final AnonpayDetailsViewModel anonpayDetailsViewModel;
21
22 @override
23 - Widget body(BuildContext context) {
23 + Widget body(BuildContext context) => AnonpayDetailsPageBody(anonpayDetailsViewModel);
24 +}
25 +
26 +class AnonpayDetailsPageBody extends StatefulWidget {
27 + AnonpayDetailsPageBody(this.anonpayDetailsViewModel);
28 +
29 + final AnonpayDetailsViewModel anonpayDetailsViewModel;
30 +
31 + @override
32 + State<AnonpayDetailsPageBody> createState() => _AnonpayDetailsPageBodyState();
33 +}
34 +
35 +class _AnonpayDetailsPageBodyState extends State<AnonpayDetailsPageBody> {
36 + @override
37 + void dispose() {
38 + super.dispose();
39 + widget.anonpayDetailsViewModel.timer?.cancel();
40 + }
41 +
42 + @override
43 + Widget build(BuildContext context) {
44 return SectionStandardList(
45 context: context,
46 sectionCount: 1,
27 - itemCounter: (int _) => anonpayDetailsViewModel.items.length,
47 + itemCounter: (int _) => widget.anonpayDetailsViewModel.items.length,
48 itemBuilder: (_, __, index) {
29 - final item = anonpayDetailsViewModel.items[index];
49 + final item = widget.anonpayDetailsViewModel.items[index];
50
51 if (item is DetailsListStatusItem) {
52 return StandardListStatusRow(title: item.title, value: item.value);
@@ -37,20 +57,18 @@ class AnonpayDetailsPage extends BasePage {
57 id: item.id,
58 create: item.createdAt,
59 pair: item.pair,
40 - currentTheme: anonpayDetailsViewModel.settingsStore.currentTheme.type,
60 + currentTheme: widget.anonpayDetailsViewModel.settingsStore.currentTheme.type,
61 onTap: item.onTap,
62 );
63 }
64
45 - return GestureDetector(
46 - onTap: () {
47 - Clipboard.setData(ClipboardData(text: item.value));
48 - showBar<void>(context, S.of(context).transaction_details_copied(item.title));
49 - },
50 - child: ListRow(title: '${item.title}:', value: item.value),
51 - );
52 -
53 -
65 + return GestureDetector(
66 + onTap: () {
67 + Clipboard.setData(ClipboardData(text: item.value));
68 + showBar<void>(context, S.of(context).transaction_details_copied(item.title));
69 + },
70 + child: ListRow(title: '${item.title}:', value: item.value),
71 + );
72 });
73 }
74 }