simplify logic of message translation

pull/1384/head
William Jordan-Cooley 1 year ago
parent 1163c1d5cd
commit 4d34b390d5

@ -29,41 +29,26 @@ class MessageTranslationCardState extends State<MessageTranslationCard> {
PangeaRepresentation? repEvent; PangeaRepresentation? repEvent;
String? selectionTranslation; String? selectionTranslation;
String? oldSelectedText; String? oldSelectedText;
String? l1Code;
String? l2Code;
bool _fetchingRepresentation = false; 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<void> fetchRepresentation(BuildContext context) async { Future<void> fetchRepresentation(BuildContext context) async {
final String? langCode = translationLangCode(); if (l1Code == null) return;
if (langCode == null) return;
repEvent = widget.messageEvent repEvent = widget.messageEvent
.representationByLanguage( .representationByLanguage(
langCode, l1Code!,
) )
?.content; ?.content;
if (repEvent == null && mounted) { if (repEvent == null && mounted) {
repEvent = await widget.messageEvent.representationByLanguageGlobal( repEvent = await widget.messageEvent.representationByLanguageGlobal(
langCode: langCode, langCode: l1Code!,
); );
} }
} }
Future<void> translateSelection() async { Future<void> translateSelection() async {
final String? targetLang = translationLangCode();
if (widget.selection.selectedText == null || if (widget.selection.selectedText == null ||
targetLang == null ||
l1Code == null || l1Code == null ||
l2Code == null) { l2Code == null) {
selectionTranslation = null; selectionTranslation = null;
@ -78,7 +63,7 @@ class MessageTranslationCardState extends State<MessageTranslationCard> {
accessToken: accessToken, accessToken: accessToken,
request: FullTextTranslationRequestModel( request: FullTextTranslationRequestModel(
text: widget.selection.messageText, text: widget.selection.messageText,
tgtLang: translationLangCode()!, tgtLang: l1Code!,
userL1: l1Code!, userL1: l1Code!,
userL2: l2Code!, userL2: l2Code!,
srcLang: widget.messageEvent.messageDisplayLangCode, srcLang: widget.messageEvent.messageDisplayLangCode,
@ -106,11 +91,14 @@ class MessageTranslationCardState extends State<MessageTranslationCard> {
} }
} }
String? get l1Code =>
MatrixState.pangeaController.languageController.activeL1Code();
String? get l2Code =>
MatrixState.pangeaController.languageController.activeL2Code();
@override @override
void initState() { void initState() {
super.initState(); super.initState();
l1Code = MatrixState.pangeaController.languageController.activeL1Code();
l2Code = MatrixState.pangeaController.languageController.activeL2Code();
if (mounted) { if (mounted) {
setState(() {}); setState(() {});
} }

Loading…
Cancel
Save