From 50a12cac481c3adef492149df077a11ddb59c345 Mon Sep 17 00:00:00 2001 From: Konstantin Ullrich Date: Thu, 3 Jul 2025 03:17:50 +0200 Subject: [PATCH] feat: add wallet sync state support chat (#2345) --- cw_core/lib/sync_status.dart | 29 +++++++++++++++++++ .../support_chat/support_chat_page.dart | 1 + .../support_chat/widgets/chatwoot_widget.dart | 3 ++ lib/view_model/support_view_model.dart | 2 ++ 4 files changed, 35 insertions(+) diff --git a/cw_core/lib/sync_status.dart b/cw_core/lib/sync_status.dart index 3183d9d27..235ae826a 100644 --- a/cw_core/lib/sync_status.dart +++ b/cw_core/lib/sync_status.dart @@ -9,6 +9,9 @@ class StartingScanSyncStatus extends SyncStatus { final int beginHeight; @override double progress() => 0.0; + + @override + String toString() => 'Starting Scan $beginHeight'; } class SyncingSyncStatus extends SyncStatus { @@ -42,22 +45,33 @@ class ProcessingSyncStatus extends SyncStatus { @override double progress() => 0.99; + @override + String toString() => 'Processing'; } class SyncedSyncStatus extends SyncStatus { @override double progress() => 1.0; + + @override + String toString() => 'Synced'; } class SyncedTipSyncStatus extends SyncedSyncStatus { SyncedTipSyncStatus(this.tip); final int tip; + + @override + String toString() => 'Synced Tip $tip'; } class SyncronizingSyncStatus extends SyncStatus { @override double progress() => 0.0; + + @override + String toString() => 'Synchronizing'; } class NotConnectedSyncStatus extends SyncStatus { @@ -65,16 +79,25 @@ class NotConnectedSyncStatus extends SyncStatus { @override double progress() => 0.0; + + @override + String toString() => 'Not Connected'; } class AttemptingSyncStatus extends SyncStatus { @override double progress() => 0.0; + + @override + String toString() => 'Attempting'; } class AttemptingScanSyncStatus extends SyncStatus { @override double progress() => 0.0; + + @override + String toString() => 'Attempting Scan'; } class FailedSyncStatus extends NotConnectedSyncStatus { @@ -88,11 +111,17 @@ class FailedSyncStatus extends NotConnectedSyncStatus { class ConnectingSyncStatus extends SyncStatus { @override double progress() => 0.0; + + @override + String toString() => 'Connecting'; } class ConnectedSyncStatus extends SyncStatus { @override double progress() => 0.0; + + @override + String toString() => 'Connected'; } class UnsupportedSyncStatus extends NotConnectedSyncStatus {} diff --git a/lib/src/screens/support_chat/support_chat_page.dart b/lib/src/screens/support_chat/support_chat_page.dart index 23fcaca7d..5598e542a 100644 --- a/lib/src/screens/support_chat/support_chat_page.dart +++ b/lib/src/screens/support_chat/support_chat_page.dart @@ -28,6 +28,7 @@ class SupportChatPage extends BasePage { appVersion: supportViewModel.appVersion, fiatApiMode: supportViewModel.fiatApiMode, walletType: supportViewModel.walletType, + walletSyncState: supportViewModel.walletSyncState, ); return Container(); }, diff --git a/lib/src/screens/support_chat/widgets/chatwoot_widget.dart b/lib/src/screens/support_chat/widgets/chatwoot_widget.dart index 9056346b0..b42cb8d02 100644 --- a/lib/src/screens/support_chat/widgets/chatwoot_widget.dart +++ b/lib/src/screens/support_chat/widgets/chatwoot_widget.dart @@ -13,6 +13,7 @@ class ChatwootWidget extends StatefulWidget { required this.appVersion, required this.fiatApiMode, required this.walletType, + required this.walletSyncState, }); final SecureStorage secureStorage; @@ -20,6 +21,7 @@ class ChatwootWidget extends StatefulWidget { final String appVersion; final String fiatApiMode; final String walletType; + final String walletSyncState; @override ChatwootWidgetState createState() => ChatwootWidgetState(); @@ -51,6 +53,7 @@ class ChatwootWidgetState extends State { "app_version": widget.appVersion, "fiat_api_mode": widget.fiatApiMode, "wallet_type": widget.walletType, + "wallet_sync_state": widget.walletSyncState, }); } } diff --git a/lib/view_model/support_view_model.dart b/lib/view_model/support_view_model.dart index 524b3fb2e..d0f46bae2 100644 --- a/lib/view_model/support_view_model.dart +++ b/lib/view_model/support_view_model.dart @@ -128,5 +128,7 @@ abstract class SupportViewModelBase with Store { String get walletType => _appStore.wallet?.type.name ?? 'Unknown'; + String get walletSyncState => _appStore.wallet?.syncStatus.toString() ?? 'Unknown'; + List items; }