Merge pull request #846 from pangeachat/776-unnecessary-practice-activities
got rid of practice activity for non target language
This commit is contained in:
commit
b6a63d3701
7 changed files with 42 additions and 12 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"
|
||||
}
|
||||
|
|
@ -66,10 +66,12 @@ extension MessageModeExtension on MessageMode {
|
|||
}
|
||||
}
|
||||
|
||||
bool isValidMode(Event event) {
|
||||
bool shouldShowAsToolbarButton(Event event) {
|
||||
switch (this) {
|
||||
case MessageMode.translation:
|
||||
return event.messageType == MessageTypes.Text;
|
||||
case MessageMode.textToSpeech:
|
||||
return event.messageType == MessageTypes.Text;
|
||||
case MessageMode.definition:
|
||||
return event.messageType == MessageTypes.Text;
|
||||
case MessageMode.speechToText:
|
||||
|
|
|
|||
|
|
@ -63,6 +63,11 @@ class MessageOverlayController extends State<MessageSelectionOverlay>
|
|||
/// If we don't have any good activities for them, we'll decrease this number
|
||||
static const int neededActivities = 3;
|
||||
int activitiesLeftToComplete = neededActivities;
|
||||
|
||||
bool get messageInUserL2 =>
|
||||
pangeaMessageEvent.messageDisplayLangCode ==
|
||||
MatrixState.pangeaController.languageController.userL2?.langCode;
|
||||
|
||||
PangeaMessageEvent get pangeaMessageEvent => widget._pangeaMessageEvent;
|
||||
|
||||
final TtsController tts = TtsController();
|
||||
|
|
@ -160,6 +165,11 @@ class MessageOverlayController extends State<MessageSelectionOverlay>
|
|||
toolbarMode = MessageMode.speechToText;
|
||||
return;
|
||||
}
|
||||
// if (!messageInUserL2) {
|
||||
// activitiesLeftToComplete = 0;
|
||||
// toolbarMode = MessageMode.nullMode;
|
||||
// return;
|
||||
// }
|
||||
|
||||
if (activitiesLeftToComplete > 0) {
|
||||
toolbarMode = MessageMode.practiceActivity;
|
||||
|
|
|
|||
|
|
@ -12,11 +12,12 @@ 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;
|
||||
|
||||
|
|
@ -32,7 +33,7 @@ class MessageToolbar extends StatelessWidget {
|
|||
required this.tts,
|
||||
});
|
||||
|
||||
Widget get toolbarContent {
|
||||
Widget toolbarContent(BuildContext context) {
|
||||
final bool subscribed =
|
||||
MatrixState.pangeaController.subscriptionController.isSubscribed;
|
||||
|
||||
|
|
@ -42,6 +43,18 @@ class MessageToolbar extends StatelessWidget {
|
|||
);
|
||||
}
|
||||
|
||||
// Check if the message is in the user's second language
|
||||
final bool messageInUserL2 = pangeaMessageEvent.messageDisplayLangCode ==
|
||||
MatrixState.pangeaController.languageController.userL2?.langCode;
|
||||
|
||||
// If not in the target language, set to nullMode
|
||||
if (!messageInUserL2) {
|
||||
return MessageDisplayCard(
|
||||
displayText:
|
||||
L10n.of(context)!.messageNotInTargetLang, // Pass the display text,
|
||||
);
|
||||
}
|
||||
|
||||
switch (overLayController.toolbarMode) {
|
||||
case MessageMode.translation:
|
||||
return MessageTranslationCard(
|
||||
|
|
@ -62,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;
|
||||
|
|
@ -127,7 +142,7 @@ class MessageToolbar extends StatelessWidget {
|
|||
child: SingleChildScrollView(
|
||||
child: AnimatedSize(
|
||||
duration: FluffyThemes.animationDuration,
|
||||
child: toolbarContent,
|
||||
child: toolbarContent(context),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ class ToolbarButtons extends StatelessWidget {
|
|||
overlayController.pangeaMessageEvent;
|
||||
|
||||
List<MessageMode> get modes => MessageMode.values
|
||||
.where((mode) => mode.isValidMode(pangeaMessageEvent.event))
|
||||
.where((mode) => mode.shouldShowAsToolbarButton(pangeaMessageEvent.event))
|
||||
.toList();
|
||||
|
||||
static const double iconWidth = 36.0;
|
||||
|
|
|
|||
|
|
@ -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