diff --git a/lib/pangea/widgets/chat/message_audio_card.dart b/lib/pangea/widgets/chat/message_audio_card.dart index e4d9ec9c9..05f8ffee2 100644 --- a/lib/pangea/widgets/chat/message_audio_card.dart +++ b/lib/pangea/widgets/chat/message_audio_card.dart @@ -58,12 +58,6 @@ class MessageAudioCardState extends State { fetchAudio(); } - @override - void dispose() { - super.dispose(); - setState(() => _isLoading = false); - } - @override Widget build(BuildContext context) { final playButton = InkWell( diff --git a/lib/pangea/widgets/chat/message_translation_card.dart b/lib/pangea/widgets/chat/message_translation_card.dart index 3ff08a84b..dc3b03f9c 100644 --- a/lib/pangea/widgets/chat/message_translation_card.dart +++ b/lib/pangea/widgets/chat/message_translation_card.dart @@ -78,12 +78,6 @@ class MessageTranslationCardState extends State { fetchRepresentation(context); } - @override - void dispose() { - super.dispose(); - setState(() => _fetchingRepresentation = false); - } - @override Widget build(BuildContext context) { return Padding( diff --git a/lib/pangea/widgets/igc/pangea_rich_text.dart b/lib/pangea/widgets/igc/pangea_rich_text.dart index fcfd4f337..664b496c9 100644 --- a/lib/pangea/widgets/igc/pangea_rich_text.dart +++ b/lib/pangea/widgets/igc/pangea_rich_text.dart @@ -38,6 +38,7 @@ class PangeaRichTextState extends State { bool _fetchingRepresentation = false; double get blur => _fetchingRepresentation && widget.immersionMode ? 5 : 0; String textSpan = ""; + RepresentationEvent? repEvent; @override void initState() { @@ -62,12 +63,15 @@ class PangeaRichTextState extends State { return widget.pangeaMessageEvent.body; } + if (repEvent != null) { + return repEvent!.text; + } + if (widget.pangeaMessageEvent.eventId.contains("webdebug")) { debugger(when: kDebugMode); } - final RepresentationEvent? repEvent = - widget.pangeaMessageEvent.representationByLanguage( + repEvent = widget.pangeaMessageEvent.representationByLanguage( widget.pangeaMessageEvent.messageDisplayLangCode, ); @@ -80,7 +84,8 @@ class PangeaRichTextState extends State { langCode: widget.pangeaMessageEvent.messageDisplayLangCode, ) .onError((error, stackTrace) => ErrorHandler.logError()) - .then((_) { + .then((event) { + repEvent = event; widget.toolbarController.toolbar?.textSelection.setMessageText( repEvent?.text ?? widget.pangeaMessageEvent.body, ); @@ -92,11 +97,12 @@ class PangeaRichTextState extends State { return widget.pangeaMessageEvent.body; } else { widget.toolbarController.toolbar?.textSelection.setMessageText( - repEvent.text, + repEvent!.text, ); + setState(() {}); } - return repEvent.text; + return repEvent!.text; } @override