From 0291a4c3a214acffc10950ed7fc941fdf8edcade Mon Sep 17 00:00:00 2001 From: otsmr Date: Wed, 29 Jul 2026 14:44:04 +0200 Subject: [PATCH] make it possible to hide flame warning --- .../localization/generated/app_localizations.dart | 12 ++++++++++++ .../generated/app_localizations_de.dart | 9 +++++++++ .../generated/app_localizations_en.dart | 8 ++++++++ lib/src/localization/translations | 2 +- lib/src/model/json/userdata.model.dart | 3 +++ lib/src/model/json/userdata.model.g.dart | 2 ++ .../contact_components/restore_flame.comp.dart | 7 +++++-- .../views/settings/chat/chat_settings.view.dart | 13 +++++++++++++ 8 files changed, 53 insertions(+), 3 deletions(-) diff --git a/lib/src/localization/generated/app_localizations.dart b/lib/src/localization/generated/app_localizations.dart index f27f2307..2c1c777b 100644 --- a/lib/src/localization/generated/app_localizations.dart +++ b/lib/src/localization/generated/app_localizations.dart @@ -4273,6 +4273,18 @@ abstract class AppLocalizations { /// In en, this message translates to: /// **'All memories are up to date.'** String get settingsStorageSyncUpToDate; + + /// No description provided for @restoreLostFlames. + /// + /// In en, this message translates to: + /// **'Restore your {count} lost flames'** + String restoreLostFlames(int count); + + /// No description provided for @settingsShowRestoreFlameTitle. + /// + /// In en, this message translates to: + /// **'Show flame restore warning'** + String get settingsShowRestoreFlameTitle; } class _AppLocalizationsDelegate diff --git a/lib/src/localization/generated/app_localizations_de.dart b/lib/src/localization/generated/app_localizations_de.dart index c558af8e..3503fd9a 100644 --- a/lib/src/localization/generated/app_localizations_de.dart +++ b/lib/src/localization/generated/app_localizations_de.dart @@ -2475,4 +2475,13 @@ class AppLocalizationsDe extends AppLocalizations { @override String get settingsStorageSyncUpToDate => 'Alle Memories sind auf dem neuesten Stand.'; + + @override + String restoreLostFlames(int count) { + return 'Stelle deine $count verlorenen Flammen wieder her'; + } + + @override + String get settingsShowRestoreFlameTitle => + 'Hinweis zur Flammen-Wiederherstellung anzeigen'; } diff --git a/lib/src/localization/generated/app_localizations_en.dart b/lib/src/localization/generated/app_localizations_en.dart index 08afd8c0..5e63baae 100644 --- a/lib/src/localization/generated/app_localizations_en.dart +++ b/lib/src/localization/generated/app_localizations_en.dart @@ -2453,4 +2453,12 @@ class AppLocalizationsEn extends AppLocalizations { @override String get settingsStorageSyncUpToDate => 'All memories are up to date.'; + + @override + String restoreLostFlames(int count) { + return 'Restore your $count lost flames'; + } + + @override + String get settingsShowRestoreFlameTitle => 'Show flame restore warning'; } diff --git a/lib/src/localization/translations b/lib/src/localization/translations index 34c835db..c5f554b3 160000 --- a/lib/src/localization/translations +++ b/lib/src/localization/translations @@ -1 +1 @@ -Subproject commit 34c835db2de08af962b39fb79ec11341b8847926 +Subproject commit c5f554b36deab290c091ae46b3af1255f74c6b98 diff --git a/lib/src/model/json/userdata.model.dart b/lib/src/model/json/userdata.model.dart index 8c3e3fe0..e451447a 100644 --- a/lib/src/model/json/userdata.model.dart +++ b/lib/src/model/json/userdata.model.dart @@ -93,6 +93,9 @@ class UserData { @JsonKey(defaultValue: true) bool typingIndicators = true; + @JsonKey(defaultValue: true) + bool showRestoreFlame = true; + String? myBestFriendGroupId; DateTime? signalLastSignedPreKeyUpdated; diff --git a/lib/src/model/json/userdata.model.g.dart b/lib/src/model/json/userdata.model.g.dart index cf2b4b9f..ccb08cc9 100644 --- a/lib/src/model/json/userdata.model.g.dart +++ b/lib/src/model/json/userdata.model.g.dart @@ -60,6 +60,7 @@ UserData _$UserDataFromJson(Map json) => ..autoStoreAllSendUnlimitedMediaFiles = json['autoStoreAllSendUnlimitedMediaFiles'] as bool? ?? false ..typingIndicators = json['typingIndicators'] as bool? ?? true + ..showRestoreFlame = json['showRestoreFlame'] as bool? ?? true ..myBestFriendGroupId = json['myBestFriendGroupId'] as String? ..signalLastSignedPreKeyUpdated = json['signalLastSignedPreKeyUpdated'] == null @@ -151,6 +152,7 @@ Map _$UserDataToJson(UserData instance) => { 'autoStoreAllSendUnlimitedMediaFiles': instance.autoStoreAllSendUnlimitedMediaFiles, 'typingIndicators': instance.typingIndicators, + 'showRestoreFlame': instance.showRestoreFlame, 'myBestFriendGroupId': instance.myBestFriendGroupId, 'signalLastSignedPreKeyUpdated': instance.signalLastSignedPreKeyUpdated ?.toIso8601String(), diff --git a/lib/src/visual/views/contact/contact_components/restore_flame.comp.dart b/lib/src/visual/views/contact/contact_components/restore_flame.comp.dart index d512eefd..980045a4 100644 --- a/lib/src/visual/views/contact/contact_components/restore_flame.comp.dart +++ b/lib/src/visual/views/contact/contact_components/restore_flame.comp.dart @@ -107,6 +107,9 @@ class _RestoreFlameCompState extends State { @override Widget build(BuildContext context) { + if (!userService.currentUser.showRestoreFlame) { + return const SizedBox.shrink(); + } if (_group == null || !isItPossibleToRestoreFlames(_group!)) { return Container(); } @@ -115,7 +118,7 @@ class _RestoreFlameCompState extends State { contentPadding: const EdgeInsets.symmetric(horizontal: 16), onTap: _restoreFlames, title: Text( - 'Restore your ${_group!.maxFlameCounter} lost flames', + context.lang.restoreLostFlames(_group!.maxFlameCounter), style: const TextStyle(fontWeight: FontWeight.w500), ), trailing: const SizedBox( @@ -134,7 +137,7 @@ class _RestoreFlameCompState extends State { emoji: '🔥', ), ), - text: 'Restore your ${_group!.maxFlameCounter} lost flames', + text: context.lang.restoreLostFlames(_group!.maxFlameCounter), ); } } diff --git a/lib/src/visual/views/settings/chat/chat_settings.view.dart b/lib/src/visual/views/settings/chat/chat_settings.view.dart index f9ebc006..19bd8d06 100644 --- a/lib/src/visual/views/settings/chat/chat_settings.view.dart +++ b/lib/src/visual/views/settings/chat/chat_settings.view.dart @@ -24,6 +24,12 @@ class _ChatSettingsViewState extends State { }); } + Future setShowRestoreFlame(bool value) async { + await UserService.update((u) { + u.showRestoreFlame = value; + }); + } + @override Widget build(BuildContext context) { return Scaffold( @@ -55,6 +61,13 @@ class _ChatSettingsViewState extends State { .automaticallyMarkEqualMediaFilesAsOpened, onChanged: setAutomaticallyMarkEqualMediaFilesAsOpened, ), + SwitchListTile.adaptive( + title: Text( + context.lang.settingsShowRestoreFlameTitle, + ), + value: userService.currentUser.showRestoreFlame, + onChanged: setShowRestoreFlame, + ), ], ); },