diff --git a/lib/pangea/analytics_details_popup/vocab_analytics_details_view.dart b/lib/pangea/analytics_details_popup/vocab_analytics_details_view.dart index d472a64b1..9446dfb1b 100644 --- a/lib/pangea/analytics_details_popup/vocab_analytics_details_view.dart +++ b/lib/pangea/analytics_details_popup/vocab_analytics_details_view.dart @@ -67,7 +67,7 @@ class VocabDetailsView extends StatelessWidget { ); }, ), - if (MatrixState.pangeaController.languageController.userL2 != null) + if (MatrixState.pangeaController.languageController.showTrancription) Padding( padding: const EdgeInsets.only(top: 4.0), child: PhoneticTranscriptionWidget( diff --git a/lib/pangea/learning_settings/controllers/language_controller.dart b/lib/pangea/learning_settings/controllers/language_controller.dart index b5cc511c2..68dd7d021 100644 --- a/lib/pangea/learning_settings/controllers/language_controller.dart +++ b/lib/pangea/learning_settings/controllers/language_controller.dart @@ -112,4 +112,14 @@ class LanguageController { // final model = activeL2 != null ? PangeaLanguage.byLangCode(activeL2) : null; // return model; } + + bool get showTrancription => + (_pangeaController.languageController.userL1 != null && + _pangeaController.languageController.userL2 != null && + _pangeaController.languageController.userL1?.script != + _pangeaController.languageController.userL2?.script) || + (_pangeaController.languageController.userL1?.script != + LanguageKeys.unknownLanguage || + _pangeaController.languageController.userL2?.script == + LanguageKeys.unknownLanguage); } diff --git a/lib/pangea/learning_settings/models/language_model.dart b/lib/pangea/learning_settings/models/language_model.dart index 1e1ef69b9..4029b9507 100644 --- a/lib/pangea/learning_settings/models/language_model.dart +++ b/lib/pangea/learning_settings/models/language_model.dart @@ -7,11 +7,13 @@ import 'package:fluffychat/pangea/learning_settings/enums/l2_support_enum.dart'; class LanguageModel { final String langCode; final String displayName; + final String script; final L2SupportEnum l2Support; LanguageModel({ required this.langCode, required this.displayName, + this.script = LanguageKeys.unknownLanguage, this.l2Support = L2SupportEnum.na, }); @@ -28,12 +30,14 @@ class LanguageModel { l2Support: json['l2_support'] != null ? L2SupportEnum.na.fromStorageString(json['l2_support']) : L2SupportEnum.na, + script: json['script'] ?? LanguageKeys.unknownLanguage, ); } toJson() => { 'language_code': langCode, 'language_name': displayName, + 'script': script, 'l2_support': l2Support.storageString, }; diff --git a/lib/pangea/toolbar/widgets/overlay_message.dart b/lib/pangea/toolbar/widgets/overlay_message.dart index 71a7c573d..14dea0f1c 100644 --- a/lib/pangea/toolbar/widgets/overlay_message.dart +++ b/lib/pangea/toolbar/widgets/overlay_message.dart @@ -187,20 +187,22 @@ class OverlayMessage extends StatelessWidget { fontStyle: FontStyle.italic, ), ), - PhoneticTranscriptionWidget( - text: overlayController - .transcription!.transcript.text, - textLanguage: PLanguageStore.byLangCode( - pangeaMessageEvent! - .messageDisplayLangCode, - ) ?? - LanguageModel.unknown, - style: AppConfig.messageTextStyle( - event, - textColor, + if (MatrixState.pangeaController + .languageController.showTrancription) + PhoneticTranscriptionWidget( + text: overlayController + .transcription!.transcript.text, + textLanguage: PLanguageStore.byLangCode( + pangeaMessageEvent! + .messageDisplayLangCode, + ) ?? + LanguageModel.unknown, + style: AppConfig.messageTextStyle( + event, + textColor, + ), + iconColor: textColor, ), - iconColor: textColor, - ), ], ), )