From 491c13b28f1e499a65e4b04f6cea7487d62b0382 Mon Sep 17 00:00:00 2001 From: ggurdin Date: Thu, 3 Jul 2025 15:45:36 -0400 Subject: [PATCH] chore: fix jerking animation in word card --- .../widgets/message_selection_overlay.dart | 30 +++++++++---------- .../widgets/word_zoom/new_word_overlay.dart | 2 -- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/lib/pangea/toolbar/widgets/message_selection_overlay.dart b/lib/pangea/toolbar/widgets/message_selection_overlay.dart index a8a6cde1c..1b1412f88 100644 --- a/lib/pangea/toolbar/widgets/message_selection_overlay.dart +++ b/lib/pangea/toolbar/widgets/message_selection_overlay.dart @@ -571,8 +571,8 @@ class MessageOverlayController extends State updateSelectedSpan(token.text); - Future.delayed(const Duration(milliseconds: 1700), () { - if (isNewToken(token)) { + if (isNewToken(token)) { + Future.delayed(const Duration(milliseconds: 1700), () { MatrixState.pangeaController.putAnalytics.setState( AnalyticsStream( eventId: event.eventId, @@ -595,19 +595,19 @@ class MessageOverlayController extends State targetID: token.text.uniqueKey, ), ); - // Remove the token (and all tokens of same lemma but different form) from newTokens - setState(() { - newTokens.removeWhere( - (t) => - t.text.offset == token.text.offset && - t.text.length == token.text.length, - ); - newTokens.removeWhere( - (t) => t.lemma.text.equals(token.lemma.text), - ); - }); - } - }); + + if (mounted) { + setState(() { + newTokens.removeWhere( + (t) => + t.text.offset == token.text.offset && + t.text.length == token.text.length && + t.lemma.text.equals(token.lemma.text), + ); + }); + } + }); + } } PracticeTarget? practiceTargetForToken(PangeaToken token) { diff --git a/lib/pangea/toolbar/widgets/word_zoom/new_word_overlay.dart b/lib/pangea/toolbar/widgets/word_zoom/new_word_overlay.dart index 37bbe6891..a1b893b53 100644 --- a/lib/pangea/toolbar/widgets/word_zoom/new_word_overlay.dart +++ b/lib/pangea/toolbar/widgets/word_zoom/new_word_overlay.dart @@ -156,5 +156,3 @@ class _NewWordOverlayState extends State ); } } - -const kAlwaysCompleteAnimation = AlwaysStoppedAnimation(1.0);