From 1f7ca4c1fc5a7292bfa969aa1858802b8bc33949 Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Tue, 27 Jan 2026 15:33:24 -0500 Subject: [PATCH] fix: distinguish constuct level up animations by construct ID instead of count (#5468) --- lib/pangea/analytics_data/analytics_updater_mixin.dart | 7 ++++++- lib/pangea/common/utils/overlay.dart | 6 +++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/pangea/analytics_data/analytics_updater_mixin.dart b/lib/pangea/analytics_data/analytics_updater_mixin.dart index 633cc77f1..d24628010 100644 --- a/lib/pangea/analytics_data/analytics_updater_mixin.dart +++ b/lib/pangea/analytics_data/analytics_updater_mixin.dart @@ -46,7 +46,12 @@ mixin AnalyticsUpdater on State { void _onConstructLevelUp(ConstructLevelUpdate update) { if (update.targetID != null) { - OverlayUtil.showGrowthAnimation(context, update.targetID!, update.level); + OverlayUtil.showGrowthAnimation( + context, + update.targetID!, + update.level, + update.constructId, + ); } } } diff --git a/lib/pangea/common/utils/overlay.dart b/lib/pangea/common/utils/overlay.dart index de3187b29..c868db5bf 100644 --- a/lib/pangea/common/utils/overlay.dart +++ b/lib/pangea/common/utils/overlay.dart @@ -14,6 +14,7 @@ import 'package:fluffychat/pangea/common/utils/any_state_holder.dart'; import 'package:fluffychat/pangea/common/widgets/anchored_overlay_widget.dart'; import 'package:fluffychat/pangea/common/widgets/overlay_container.dart'; import 'package:fluffychat/pangea/common/widgets/transparent_backdrop.dart'; +import 'package:fluffychat/pangea/constructs/construct_identifier.dart'; import 'package:fluffychat/pangea/constructs/construct_level_enum.dart'; import 'package:fluffychat/pangea/learning_settings/language_mismatch_popup.dart'; import '../../../config/themes.dart'; @@ -314,14 +315,13 @@ class OverlayUtil { ); } - static int _growthAnimationCounter = 0; - static void showGrowthAnimation( BuildContext context, String targetId, ConstructLevelEnum level, + ConstructIdentifier constructId, ) { - final overlayKey = "${targetId}_growth_${_growthAnimationCounter++}"; + final overlayKey = "${targetId}_growth_${constructId.string}"; showOverlay( overlayKey: overlayKey, followerAnchor: Alignment.topCenter,