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
}