diff --git a/lib/src/screens/dashboard/widgets/sync_indicator.dart b/lib/src/screens/dashboard/widgets/sync_indicator.dart index ed2c65981..6a4a370f2 100644 --- a/lib/src/screens/dashboard/widgets/sync_indicator.dart +++ b/lib/src/screens/dashboard/widgets/sync_indicator.dart @@ -33,6 +33,7 @@ class SyncIndicator extends StatelessWidget { borderRadius: BorderRadius.all(Radius.circular(15)), child: GestureDetector( onTap: onTap, + onLongPress: dashboardViewModel.toggleSwitchStatusDisplayMode, child: Container( height: 30, width: syncIndicatorWidth, diff --git a/lib/view_model/dashboard/dashboard_view_model.dart b/lib/view_model/dashboard/dashboard_view_model.dart index 50e8d62b7..793048a6b 100644 --- a/lib/view_model/dashboard/dashboard_view_model.dart +++ b/lib/view_model/dashboard/dashboard_view_model.dart @@ -10,6 +10,7 @@ import 'package:cake_wallet/entities/balance_display_mode.dart'; import 'package:cake_wallet/entities/exchange_api_mode.dart'; import 'package:cake_wallet/entities/preferences_key.dart'; import 'package:cake_wallet/entities/service_status.dart'; +import 'package:cake_wallet/entities/sync_status_display_mode.dart'; import 'package:cake_wallet/exchange/exchange_provider_description.dart'; import 'package:cake_wallet/generated/i18n.dart'; import 'package:cake_wallet/monero/monero.dart'; @@ -610,6 +611,17 @@ abstract class DashboardViewModelBase with Store { return resp; } + @action + void toggleSwitchStatusDisplayMode() { + if (status is SyncingSyncStatus && !((status as SyncingSyncStatus).shouldShowBlocksRemaining())) { + if (settingsStore.syncStatusDisplayMode == SyncStatusDisplayMode.eta) { + settingsStore.syncStatusDisplayMode = SyncStatusDisplayMode.blocksRemaining; + } else { + settingsStore.syncStatusDisplayMode = SyncStatusDisplayMode.eta; + } + } + } + @observable late bool backgroundSyncNotificationsEnabled = sharedPreferences.getBool(PreferencesKey.backgroundSyncNotificationsEnabled) ?? false;