diff --git a/lib/config/app_config.dart b/lib/config/app_config.dart index 4b263af4a..43303fea3 100644 --- a/lib/config/app_config.dart +++ b/lib/config/app_config.dart @@ -196,6 +196,7 @@ abstract class AppConfig { static String errorSubscriptionId = "pangea_subscription_error"; static double volume = 1.0; + static bool showedActivityMenuTutorial = false; // Pangea# static void loadFromJson(Map json) { diff --git a/lib/config/setting_keys.dart b/lib/config/setting_keys.dart index cae910913..458f5356d 100644 --- a/lib/config/setting_keys.dart +++ b/lib/config/setting_keys.dart @@ -36,6 +36,8 @@ abstract class SettingKeys { 'chat.fluffy.display_navigation_rail'; // #Pangea static const String volume = 'pangea.volume'; + static const String showedActivityMenuTutorial = + 'pangea.showed_activity_menu_tutorial'; // Pangea# } diff --git a/lib/pangea/activity_sessions/activity_session_chat/activity_chat_extension.dart b/lib/pangea/activity_sessions/activity_session_chat/activity_chat_extension.dart index 029dd1268..9c033cbed 100644 --- a/lib/pangea/activity_sessions/activity_session_chat/activity_chat_extension.dart +++ b/lib/pangea/activity_sessions/activity_session_chat/activity_chat_extension.dart @@ -1,5 +1,6 @@ import 'package:matrix/matrix.dart'; +import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/pages/chat/chat.dart'; import 'package:fluffychat/pangea/activity_sessions/activity_room_extension.dart'; import 'package:fluffychat/pangea/instructions/instructions_enum.dart'; @@ -7,7 +8,8 @@ import 'package:fluffychat/widgets/matrix.dart'; extension ActivityMenuLogic on ChatController { bool get shouldShowActivityInstructions { - if (InstructionsEnum.activityStatsMenu.isToggledOff || + if (AppConfig.showedActivityMenuTutorial || + InstructionsEnum.activityStatsMenu.isToggledOff || MatrixState.pAnyState.isOverlayOpen(RegExp(r"^word-zoom-card-.*$")) || timeline == null) { return false; diff --git a/lib/pangea/activity_sessions/activity_session_chat/activity_menu_button.dart b/lib/pangea/activity_sessions/activity_session_chat/activity_menu_button.dart index 51879a04f..9a6d5533f 100644 --- a/lib/pangea/activity_sessions/activity_session_chat/activity_menu_button.dart +++ b/lib/pangea/activity_sessions/activity_session_chat/activity_menu_button.dart @@ -5,6 +5,7 @@ import 'package:flutter/material.dart'; import 'package:shimmer/shimmer.dart'; import 'package:fluffychat/config/app_config.dart'; +import 'package:fluffychat/config/setting_keys.dart'; import 'package:fluffychat/l10n/l10n.dart'; import 'package:fluffychat/pages/chat/chat.dart'; import 'package:fluffychat/pangea/activity_sessions/activity_session_chat/activity_chat_extension.dart'; @@ -12,6 +13,7 @@ import 'package:fluffychat/pangea/common/utils/overlay.dart'; import 'package:fluffychat/pangea/common/widgets/tutorial_overlay_message.dart'; import 'package:fluffychat/pangea/events/constants/pangea_event_types.dart'; import 'package:fluffychat/pangea/instructions/instructions_enum.dart'; +import 'package:fluffychat/widgets/matrix.dart'; class ActivityMenuButton extends StatefulWidget { final ChatController controller; @@ -87,6 +89,13 @@ class _ActivityMenuButtonState extends State { widget.controller.toggleShowDropdown(); }, ); + + AppConfig.showedActivityMenuTutorial = true; + Matrix.of(context).store.setBool( + SettingKeys.showedActivityMenuTutorial, + AppConfig.showedActivityMenuTutorial, + ); + setState(() => _showShimmer = true); } diff --git a/lib/widgets/matrix.dart b/lib/widgets/matrix.dart index 53df7ced8..bf5dfbcf9 100644 --- a/lib/widgets/matrix.dart +++ b/lib/widgets/matrix.dart @@ -548,6 +548,10 @@ class MatrixState extends State with WidgetsBindingObserver { // #Pangea AppConfig.volume = store.getDouble(SettingKeys.volume) ?? AppConfig.volume; + + AppConfig.showedActivityMenuTutorial = + store.getBool(SettingKeys.showedActivityMenuTutorial) ?? + AppConfig.showedActivityMenuTutorial; // Pangea# }