From 4d34b390d5aff2d6ecce7c983164944a1f8d2124 Mon Sep 17 00:00:00 2001 From: William Jordan-Cooley Date: Wed, 3 Jul 2024 14:00:11 -0400 Subject: [PATCH] simplify logic of message translation --- .../chat/message_translation_card.dart | 30 ++++++------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/lib/pangea/widgets/chat/message_translation_card.dart b/lib/pangea/widgets/chat/message_translation_card.dart index 094f481ec..31b6addb2 100644 --- a/lib/pangea/widgets/chat/message_translation_card.dart +++ b/lib/pangea/widgets/chat/message_translation_card.dart @@ -29,41 +29,26 @@ class MessageTranslationCardState extends State { PangeaRepresentation? repEvent; String? selectionTranslation; String? oldSelectedText; - String? l1Code; - String? l2Code; bool _fetchingRepresentation = false; - String? translationLangCode() { - if (widget.immersionMode) return l1Code; - final String? originalSentCode = - widget.messageEvent.originalSent?.content.langCode; - return (l1Code == originalSentCode || originalSentCode == null) - ? l2Code - : l1Code; - } - Future fetchRepresentation(BuildContext context) async { - final String? langCode = translationLangCode(); - if (langCode == null) return; + if (l1Code == null) return; repEvent = widget.messageEvent .representationByLanguage( - langCode, + l1Code!, ) ?.content; if (repEvent == null && mounted) { repEvent = await widget.messageEvent.representationByLanguageGlobal( - langCode: langCode, + langCode: l1Code!, ); } } Future translateSelection() async { - final String? targetLang = translationLangCode(); - if (widget.selection.selectedText == null || - targetLang == null || l1Code == null || l2Code == null) { selectionTranslation = null; @@ -78,7 +63,7 @@ class MessageTranslationCardState extends State { accessToken: accessToken, request: FullTextTranslationRequestModel( text: widget.selection.messageText, - tgtLang: translationLangCode()!, + tgtLang: l1Code!, userL1: l1Code!, userL2: l2Code!, srcLang: widget.messageEvent.messageDisplayLangCode, @@ -106,11 +91,14 @@ class MessageTranslationCardState extends State { } } + String? get l1Code => + MatrixState.pangeaController.languageController.activeL1Code(); + String? get l2Code => + MatrixState.pangeaController.languageController.activeL2Code(); + @override void initState() { super.initState(); - l1Code = MatrixState.pangeaController.languageController.activeL1Code(); - l2Code = MatrixState.pangeaController.languageController.activeL2Code(); if (mounted) { setState(() {}); }