feat: add wallet sync state support chat (#2345)
Konstantin Ullrich committed
Jul 3, 2025 at 03:17 UTC
50a12cac481c3adef492149df077a11ddb59c345
4 files changed
+35
cw_core/lib/sync_status.dart
+29
@@ -9,6 +9,9 @@ class StartingScanSyncStatus extends SyncStatus {
9
final int beginHeight;
10
@override
11
double progress() => 0.0;
12
+
13
+ @override
14
+ String toString() => 'Starting Scan $beginHeight';
15
}
16
17
class SyncingSyncStatus extends SyncStatus {
@@ -42,22 +45,33 @@ class ProcessingSyncStatus extends SyncStatus {
45
@override
46
double progress() => 0.99;
47
48
+ @override
49
+ String toString() => 'Processing';
50
}
51
52
class SyncedSyncStatus extends SyncStatus {
53
@override
54
double progress() => 1.0;
55
+
56
+ @override
57
+ String toString() => 'Synced';
58
}
59
60
class SyncedTipSyncStatus extends SyncedSyncStatus {
61
SyncedTipSyncStatus(this.tip);
62
63
final int tip;
64
+
65
+ @override
66
+ String toString() => 'Synced Tip $tip';
67
}
68
69
class SyncronizingSyncStatus extends SyncStatus {
70
@override
71
double progress() => 0.0;
72
+
73
+ @override
74
+ String toString() => 'Synchronizing';
75
}
76
77
class NotConnectedSyncStatus extends SyncStatus {
@@ -65,16 +79,25 @@ class NotConnectedSyncStatus extends SyncStatus {
79
80
@override
81
double progress() => 0.0;
82
+
83
+ @override
84
+ String toString() => 'Not Connected';
85
}
86
87
class AttemptingSyncStatus extends SyncStatus {
88
@override
89
double progress() => 0.0;
90
+
91
+ @override
92
+ String toString() => 'Attempting';
93
}
94
95
class AttemptingScanSyncStatus extends SyncStatus {
96
@override
97
double progress() => 0.0;
98
+
99
+ @override
100
+ String toString() => 'Attempting Scan';
101
}
102
103
class FailedSyncStatus extends NotConnectedSyncStatus {
@@ -88,11 +111,17 @@ class FailedSyncStatus extends NotConnectedSyncStatus {
111
class ConnectingSyncStatus extends SyncStatus {
112
@override
113
double progress() => 0.0;
114
+
115
+ @override
116
+ String toString() => 'Connecting';
117
}
118
119
class ConnectedSyncStatus extends SyncStatus {
120
@override
121
double progress() => 0.0;
122
+
123
+ @override
124
+ String toString() => 'Connected';
125
}
126
127
class UnsupportedSyncStatus extends NotConnectedSyncStatus {}
lib/src/screens/support_chat/support_chat_page.dart
+1
@@ -28,6 +28,7 @@ class SupportChatPage extends BasePage {
28
appVersion: supportViewModel.appVersion,
29
fiatApiMode: supportViewModel.fiatApiMode,
30
walletType: supportViewModel.walletType,
31
+ walletSyncState: supportViewModel.walletSyncState,
32
);
33
return Container();
34
},
lib/src/screens/support_chat/widgets/chatwoot_widget.dart
+3
@@ -13,6 +13,7 @@ class ChatwootWidget extends StatefulWidget {
13
required this.appVersion,
14
required this.fiatApiMode,
15
required this.walletType,
16
+ required this.walletSyncState,
17
});
18
19
final SecureStorage secureStorage;
@@ -20,6 +21,7 @@ class ChatwootWidget extends StatefulWidget {
21
final String appVersion;
22
final String fiatApiMode;
23
final String walletType;
24
+ final String walletSyncState;
25
26
@override
27
ChatwootWidgetState createState() => ChatwootWidgetState();
@@ -51,6 +53,7 @@ class ChatwootWidgetState extends State<ChatwootWidget> {
53
"app_version": widget.appVersion,
54
"fiat_api_mode": widget.fiatApiMode,
55
"wallet_type": widget.walletType,
56
+ "wallet_sync_state": widget.walletSyncState,
57
});
58
}
59
}
lib/view_model/support_view_model.dart
+2
@@ -128,5 +128,7 @@ abstract class SupportViewModelBase with Store {
128
129
String get walletType => _appStore.wallet?.type.name ?? 'Unknown';
130
131
+ String get walletSyncState => _appStore.wallet?.syncStatus.toString() ?? 'Unknown';
132
+
133
List<SettingsListItem> items;
134
}