feat: add built_in_tor metadata to support chats (#2712)

Konstantin Ullrich committed Dec 8, 2025 at 14:07 UTC 8d41a110b4059401db1587a8371f7ed5355b1c9d
4 files changed +10 -7
lib/di.dart
+1 -2
@@ -1426,8 +1426,7 @@ Future<void> setup({
1426 getIt.registerFactoryParam<OrderDetailsPage, Order, void>(
1427 (Order order, _) => OrderDetailsPage(getIt.get<OrderDetailsViewModel>(param1: order)));
1428
1429 - getIt.registerFactory(() =>
1430 - SupportViewModel(getIt.get<SettingsStore>(), getIt.get<AppStore>()));
1429 + getIt.registerFactory(() => SupportViewModel(getIt.get<AppStore>()));
1430
1431 getIt.registerFactory(() => SupportPage(getIt.get<SupportViewModel>()));
1432
lib/src/screens/support_chat/support_chat_page.dart
+1
@@ -29,6 +29,7 @@ class SupportChatPage extends BasePage {
29 fiatApiMode: supportViewModel.fiatApiMode,
30 walletType: supportViewModel.walletType,
31 walletSyncState: supportViewModel.walletSyncState,
32 + builtInTorState: supportViewModel.builtInTorState,
33 );
34 return Container();
35 },
lib/src/screens/support_chat/widgets/chatwoot_widget.dart
+3
@@ -14,6 +14,7 @@ class ChatwootWidget extends StatefulWidget {
14 required this.fiatApiMode,
15 required this.walletType,
16 required this.walletSyncState,
17 + required this.builtInTorState,
18 });
19
20 final SecureStorage secureStorage;
@@ -22,6 +23,7 @@ class ChatwootWidget extends StatefulWidget {
23 final String fiatApiMode;
24 final String walletType;
25 final String walletSyncState;
26 + final String builtInTorState;
27
28 @override
29 ChatwootWidgetState createState() => ChatwootWidgetState();
@@ -54,6 +56,7 @@ class ChatwootWidgetState extends State<ChatwootWidget> {
56 "fiat_api_mode": widget.fiatApiMode,
57 "wallet_type": widget.walletType,
58 "wallet_sync_state": widget.walletSyncState,
59 + "built_in_tor": widget.builtInTorState,
60 });
61 }
62 }
lib/view_model/support_view_model.dart
+5 -5
@@ -1,7 +1,6 @@
1 import 'package:cake_wallet/.secrets.g.dart' as secrets;
2 import 'package:cake_wallet/generated/i18n.dart';
3 import 'package:cake_wallet/store/app_store.dart';
4 -import 'package:cake_wallet/store/settings_store.dart';
4 import 'package:cake_wallet/view_model/settings/link_list_item.dart';
5 import 'package:cake_wallet/view_model/settings/settings_list_item.dart';
6 import 'package:cake_wallet/wallet_type_utils.dart';
@@ -12,10 +11,9 @@ part 'support_view_model.g.dart';
11 class SupportViewModel = SupportViewModelBase with _$SupportViewModel;
12
13 abstract class SupportViewModelBase with Store {
15 - final SettingsStore _settingsStore;
14 final AppStore _appStore;
15
18 - SupportViewModelBase(this._settingsStore, this._appStore)
16 + SupportViewModelBase(this._appStore)
17 : items = [
18 LinkListItem(
19 title: 'Email',
@@ -128,13 +126,15 @@ abstract class SupportViewModelBase with Store {
126 }
127
128 String get appVersion =>
131 - "${isMoneroOnly ? "Monero.com" : "Cake Wallet"} - ${_settingsStore.appVersion}";
129 + "${isMoneroOnly ? "Monero.com" : "Cake Wallet"} - ${_appStore.settingsStore.appVersion}";
130
133 - String get fiatApiMode => _settingsStore.fiatApiMode.title;
131 + String get fiatApiMode => _appStore.settingsStore.fiatApiMode.title;
132
133 String get walletType => _appStore.wallet?.type.name ?? 'Unknown';
134
135 String get walletSyncState => _appStore.wallet?.syncStatus.toString() ?? 'Unknown';
136
137 + String get builtInTorState => _appStore.settingsStore.currentBuiltinTor ? 'Enabled' : 'Disabled';
138 +
139 List<SettingsListItem> items;
140 }