From fa8526d58d8d901927a579edc3b1d809c11ec642 Mon Sep 17 00:00:00 2001 From: ggurdin Date: Fri, 25 Oct 2024 09:15:12 -0400 Subject: [PATCH] added copy to arb file, added padding to widget to show text in toolbar --- assets/l10n/intl_en.arb | 3 +- lib/pangea/enum/message_mode_enum.dart | 6 --- .../widgets/chat/message_display_card.dart | 47 ------------------- lib/pangea/widgets/chat/message_toolbar.dart | 23 +++++---- ..._define.dart => message_display_card.dart} | 10 ++-- pubspec.yaml | 2 +- 6 files changed, 20 insertions(+), 71 deletions(-) delete mode 100644 lib/pangea/widgets/chat/message_display_card.dart rename lib/pangea/widgets/{select_to_define.dart => message_display_card.dart} (69%) diff --git a/assets/l10n/intl_en.arb b/assets/l10n/intl_en.arb index a9f2f1db0..c54d4e7b0 100644 --- a/assets/l10n/intl_en.arb +++ b/assets/l10n/intl_en.arb @@ -4365,5 +4365,6 @@ "chooseVoice": "Choose a voice", "enterLanguageLevel": "Please enter a language level", "enterDiscussionTopic": "Please enter a discussion topic", - "selectBotChatMode": "Select chat mode" + "selectBotChatMode": "Select chat mode", + "messageNotInTargetLang": "Message not in target language" } \ No newline at end of file diff --git a/lib/pangea/enum/message_mode_enum.dart b/lib/pangea/enum/message_mode_enum.dart index 544e2a270..cfc42f63b 100644 --- a/lib/pangea/enum/message_mode_enum.dart +++ b/lib/pangea/enum/message_mode_enum.dart @@ -9,7 +9,6 @@ enum MessageMode { definition, translation, speechToText, - nullMode } extension MessageModeExtension on MessageMode { @@ -26,7 +25,6 @@ extension MessageModeExtension on MessageMode { return Icons.book; case MessageMode.practiceActivity: return Symbols.fitness_center; - case MessageMode.nullMode: default: return Icons.error; // Icon to indicate an error or unsupported mode } @@ -44,7 +42,6 @@ extension MessageModeExtension on MessageMode { return L10n.of(context)!.definitions; case MessageMode.practiceActivity: return L10n.of(context)!.practice; - case MessageMode.nullMode: default: return L10n.of(context)! .oopsSomethingWentWrong; // Title to indicate an error or unsupported mode @@ -63,7 +60,6 @@ extension MessageModeExtension on MessageMode { return L10n.of(context)!.define; case MessageMode.practiceActivity: return L10n.of(context)!.practice; - case MessageMode.nullMode: default: return L10n.of(context)! .oopsSomethingWentWrong; // Title to indicate an error or unsupported mode @@ -78,8 +74,6 @@ extension MessageModeExtension on MessageMode { return event.messageType == MessageTypes.Text; case MessageMode.definition: return event.messageType == MessageTypes.Text; - case MessageMode.nullMode: - return false; case MessageMode.speechToText: return event.messageType == MessageTypes.Audio; case MessageMode.practiceActivity: diff --git a/lib/pangea/widgets/chat/message_display_card.dart b/lib/pangea/widgets/chat/message_display_card.dart deleted file mode 100644 index 9deba5d27..000000000 --- a/lib/pangea/widgets/chat/message_display_card.dart +++ /dev/null @@ -1,47 +0,0 @@ -import 'package:fluffychat/pangea/matrix_event_wrappers/pangea_message_event.dart'; -import 'package:fluffychat/pangea/utils/bot_style.dart'; -import 'package:flutter/material.dart'; - -class MessageDisplayCard extends StatelessWidget { - final PangeaMessageEvent messageEvent; - final String? displayText; - - const MessageDisplayCard({ - super.key, - required this.messageEvent, - required this.displayText, - }); - - @override - Widget build(BuildContext context) { - // If no display text is provided, show a message indicating no content - if (displayText == null || displayText!.isEmpty) { - return const Center( - child: Text( - 'No content available.', - style: TextStyle(color: Colors.black54, fontSize: 16), - ), - ); - } - - return Padding( - padding: const EdgeInsets.all(8), - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - Flexible( - child: Column( - children: [ - // Display the provided text - Text( - displayText!, - style: BotStyle.text(context), - ), - ], - ), - ), - ], - ), - ); - } -} diff --git a/lib/pangea/widgets/chat/message_toolbar.dart b/lib/pangea/widgets/chat/message_toolbar.dart index b17bf78a2..36b3cc45c 100644 --- a/lib/pangea/widgets/chat/message_toolbar.dart +++ b/lib/pangea/widgets/chat/message_toolbar.dart @@ -6,18 +6,18 @@ import 'package:fluffychat/pangea/enum/message_mode_enum.dart'; import 'package:fluffychat/pangea/matrix_event_wrappers/pangea_message_event.dart'; import 'package:fluffychat/pangea/utils/error_handler.dart'; import 'package:fluffychat/pangea/widgets/chat/message_audio_card.dart'; -import 'package:fluffychat/pangea/widgets/chat/message_display_card.dart'; import 'package:fluffychat/pangea/widgets/chat/message_selection_overlay.dart'; import 'package:fluffychat/pangea/widgets/chat/message_speech_to_text_card.dart'; import 'package:fluffychat/pangea/widgets/chat/message_translation_card.dart'; import 'package:fluffychat/pangea/widgets/chat/message_unsubscribed_card.dart'; import 'package:fluffychat/pangea/widgets/chat/tts_controller.dart'; import 'package:fluffychat/pangea/widgets/igc/word_data_card.dart'; +import 'package:fluffychat/pangea/widgets/message_display_card.dart'; import 'package:fluffychat/pangea/widgets/practice_activity/practice_activity_card.dart'; -import 'package:fluffychat/pangea/widgets/select_to_define.dart'; import 'package:fluffychat/widgets/matrix.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_gen/gen_l10n/l10n.dart'; const double minCardHeight = 70; @@ -33,7 +33,7 @@ class MessageToolbar extends StatelessWidget { required this.tts, }); - Widget get toolbarContent { + Widget toolbarContent(BuildContext context) { final bool subscribed = MatrixState.pangeaController.subscriptionController.isSubscribed; @@ -49,16 +49,13 @@ class MessageToolbar extends StatelessWidget { // If not in the target language, set to nullMode if (!messageInUserL2) { - overLayController.toolbarMode = MessageMode.nullMode; + return MessageDisplayCard( + displayText: + L10n.of(context)!.messageNotInTargetLang, // Pass the display text, + ); } switch (overLayController.toolbarMode) { - case MessageMode.nullMode: - return MessageDisplayCard( - messageEvent: pangeaMessageEvent, // Pass the message event here - displayText: - "Message not in target language", // Pass the display text, - ); case MessageMode.translation: return MessageTranslationCard( messageEvent: pangeaMessageEvent, @@ -78,7 +75,9 @@ class MessageToolbar extends StatelessWidget { ); case MessageMode.definition: if (!overLayController.isSelection) { - return const SelectToDefine(); + return MessageDisplayCard( + displayText: L10n.of(context)!.selectToDefine, + ); } else { try { final selectedText = overLayController.targetText; @@ -143,7 +142,7 @@ class MessageToolbar extends StatelessWidget { child: SingleChildScrollView( child: AnimatedSize( duration: FluffyThemes.animationDuration, - child: toolbarContent, + child: toolbarContent(context), ), ), ); diff --git a/lib/pangea/widgets/select_to_define.dart b/lib/pangea/widgets/message_display_card.dart similarity index 69% rename from lib/pangea/widgets/select_to_define.dart rename to lib/pangea/widgets/message_display_card.dart index 968eaa147..8536f2c99 100644 --- a/lib/pangea/widgets/select_to_define.dart +++ b/lib/pangea/widgets/message_display_card.dart @@ -1,10 +1,12 @@ import 'package:fluffychat/pangea/utils/bot_style.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_gen/gen_l10n/l10n.dart'; -class SelectToDefine extends StatelessWidget { - const SelectToDefine({ +class MessageDisplayCard extends StatelessWidget { + final String displayText; + + const MessageDisplayCard({ super.key, + required this.displayText, }); @override @@ -12,7 +14,7 @@ class SelectToDefine extends StatelessWidget { return Padding( padding: const EdgeInsets.fromLTRB(16, 20, 16, 16), child: Text( - L10n.of(context)!.selectToDefine, + displayText, style: BotStyle.text(context), textAlign: TextAlign.center, ), diff --git a/pubspec.yaml b/pubspec.yaml index 80906d77c..2ae643555 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -6,7 +6,7 @@ description: Learn a language while texting your friends. # Pangea# publish_to: none # On version bump also increase the build number for F-Droid -version: 1.22.6+3556 +version: 1.22.7+3557 environment: sdk: ">=3.0.0 <4.0.0"