From 7120e0c1ce460b808c8077228a5a814f97b63c25 Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Thu, 3 Apr 2025 12:19:52 -0400 Subject: [PATCH] chore: add warning popup to empty chats (#2342) --- assets/l10n/intl_en.arb | 4 +++- lib/pages/chat/chat.dart | 11 +++++++++++ lib/pangea/instructions/instructions_enum.dart | 5 +++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/assets/l10n/intl_en.arb b/assets/l10n/intl_en.arb index d4750264b..40ac982cd 100644 --- a/assets/l10n/intl_en.arb +++ b/assets/l10n/intl_en.arb @@ -4856,5 +4856,7 @@ "makingProgress": "You're making progress!", "keepPracticing": "Keep practicing!", "niceJob": "Nice job!", - "publicSpacesTitle": "Learning communities" + "publicSpacesTitle": "Learning communities", + "emptyChatWarningTitle": "Chat is empty", + "emptyChatWarningDesc": "You haven't invited anyone to your chat. Go to Chat settings to invite your contacts or the Bot. You can also do this later." } \ No newline at end of file diff --git a/lib/pages/chat/chat.dart b/lib/pages/chat/chat.dart index b1745461e..c600149d8 100644 --- a/lib/pages/chat/chat.dart +++ b/lib/pages/chat/chat.dart @@ -47,6 +47,7 @@ import 'package:fluffychat/pangea/events/models/representation_content_model.dar import 'package:fluffychat/pangea/events/models/tokens_event_content_model.dart'; import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart'; import 'package:fluffychat/pangea/instructions/instructions_enum.dart'; +import 'package:fluffychat/pangea/instructions/instructions_show_popup.dart'; import 'package:fluffychat/pangea/learning_settings/widgets/p_language_dialog.dart'; import 'package:fluffychat/pangea/toolbar/enums/message_mode_enum.dart'; import 'package:fluffychat/pangea/toolbar/widgets/message_selection_overlay.dart'; @@ -420,6 +421,16 @@ class ChatController extends State ignorePointer: true, ); }); + + if (room.summary.mJoinedMemberCount == 1) { + WidgetsBinding.instance.addPostFrameCallback( + (_) => instructionsShowPopup( + context, + InstructionsEnum.emptyChatWarning, + choreographer.inputLayerLinkAndKey.transformTargetId, + ), + ); + } // Pangea# _tryLoadTimeline(); if (kIsWeb) { diff --git a/lib/pangea/instructions/instructions_enum.dart b/lib/pangea/instructions/instructions_enum.dart index a242d34d0..5bc9e84bd 100644 --- a/lib/pangea/instructions/instructions_enum.dart +++ b/lib/pangea/instructions/instructions_enum.dart @@ -29,6 +29,7 @@ enum InstructionsEnum { analyticsVocabList, morphAnalyticsList, readingAssistanceOverview, + emptyChatWarning, } extension InstructionsEnumExtension on InstructionsEnum { @@ -69,6 +70,8 @@ extension InstructionsEnumExtension on InstructionsEnum { ); debugger(when: kDebugMode); return ""; + case InstructionsEnum.emptyChatWarning: + return l10n.emptyChatWarningTitle; } } @@ -131,6 +134,8 @@ extension InstructionsEnumExtension on InstructionsEnum { return l10n.morphAnalyticsListBody; case InstructionsEnum.readingAssistanceOverview: return l10n.readingAssistanceOverviewBody; + case InstructionsEnum.emptyChatWarning: + return l10n.emptyChatWarningDesc; } }