added copy to arb file, added padding to widget to show text in toolbar
This commit is contained in:
parent
358e874ce4
commit
fa8526d58d
6 changed files with 20 additions and 71 deletions
|
|
@ -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"
|
||||
}
|
||||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
@ -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),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
),
|
||||
|
|
@ -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"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue