Merge pull request #910 from pangeachat/904-allow-accessing-all-tools-except-practice-activities-when-detected-=-target-language

enable other toolbar buttons in message not in l2
pull/1476/head
ggurdin 1 year ago committed by GitHub
commit aa926ed932
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -47,14 +47,6 @@ class MessageToolbar extends StatelessWidget {
final bool messageInUserL2 = pangeaMessageEvent.messageDisplayLangCode == final bool messageInUserL2 = pangeaMessageEvent.messageDisplayLangCode ==
MatrixState.pangeaController.languageController.userL2?.langCode; MatrixState.pangeaController.languageController.userL2?.langCode;
// If not in the target language show specific messsage
if (!messageInUserL2) {
return MessageDisplayCard(
displayText:
L10n.of(context)!.messageNotInTargetLang, // Pass the display text,
);
}
switch (overLayController.toolbarMode) { switch (overLayController.toolbarMode) {
case MessageMode.translation: case MessageMode.translation:
return MessageTranslationCard( return MessageTranslationCard(
@ -104,6 +96,13 @@ class MessageToolbar extends StatelessWidget {
} }
} }
case MessageMode.practiceActivity: case MessageMode.practiceActivity:
// If not in the target language show specific messsage
if (!messageInUserL2) {
return MessageDisplayCard(
displayText: L10n.of(context)!
.messageNotInTargetLang, // Pass the display text,
);
}
return PracticeActivityCard( return PracticeActivityCard(
pangeaMessageEvent: pangeaMessageEvent, pangeaMessageEvent: pangeaMessageEvent,
overlayController: overLayController, overlayController: overLayController,

@ -6,6 +6,7 @@ import 'package:fluffychat/config/themes.dart';
import 'package:fluffychat/pangea/enum/message_mode_enum.dart'; import 'package:fluffychat/pangea/enum/message_mode_enum.dart';
import 'package:fluffychat/pangea/matrix_event_wrappers/pangea_message_event.dart'; import 'package:fluffychat/pangea/matrix_event_wrappers/pangea_message_event.dart';
import 'package:fluffychat/pangea/widgets/chat/message_selection_overlay.dart'; import 'package:fluffychat/pangea/widgets/chat/message_selection_overlay.dart';
import 'package:fluffychat/widgets/matrix.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class ToolbarButtons extends StatelessWidget { class ToolbarButtons extends StatelessWidget {
@ -25,10 +26,16 @@ class ToolbarButtons extends StatelessWidget {
.where((mode) => mode.shouldShowAsToolbarButton(pangeaMessageEvent.event)) .where((mode) => mode.shouldShowAsToolbarButton(pangeaMessageEvent.event))
.toList(); .toList();
bool get messageInUserL2 =>
pangeaMessageEvent.messageDisplayLangCode ==
MatrixState.pangeaController.languageController.userL2?.langCode;
static const double iconWidth = 36.0; static const double iconWidth = 36.0;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final totallyDone =
overlayController.isPracticeComplete || !messageInUserL2;
final double barWidth = width - iconWidth; final double barWidth = width - iconWidth;
if (overlayController.pangeaMessageEvent.isAudioMessage) { if (overlayController.pangeaMessageEvent.isAudioMessage) {
@ -85,14 +92,14 @@ class ToolbarButtons extends StatelessWidget {
index, index,
overlayController.toolbarMode, overlayController.toolbarMode,
pangeaMessageEvent.numberOfActivitiesCompleted, pangeaMessageEvent.numberOfActivitiesCompleted,
overlayController.isPracticeComplete, totallyDone,
), ),
), ),
), ),
onPressed: mode.isUnlocked( onPressed: mode.isUnlocked(
index, index,
pangeaMessageEvent.numberOfActivitiesCompleted, pangeaMessageEvent.numberOfActivitiesCompleted,
overlayController.isPracticeComplete, totallyDone,
) )
? () => overlayController.updateToolbarMode(mode) ? () => overlayController.updateToolbarMode(mode)
: null, : null,

Loading…
Cancel
Save