From 193e458b7fe4ec910a9c6fa48f2b34c3cd11b24e Mon Sep 17 00:00:00 2001 From: ggurdin Date: Thu, 18 Dec 2025 14:02:26 -0500 Subject: [PATCH] fix: close message overlay when screen size changes --- lib/pangea/toolbar/message_selection_overlay.dart | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/pangea/toolbar/message_selection_overlay.dart b/lib/pangea/toolbar/message_selection_overlay.dart index 00351097d..b988b9e56 100644 --- a/lib/pangea/toolbar/message_selection_overlay.dart +++ b/lib/pangea/toolbar/message_selection_overlay.dart @@ -54,7 +54,7 @@ class MessageSelectionOverlay extends StatefulWidget { } class MessageOverlayController extends State - with SingleTickerProviderStateMixin { + with SingleTickerProviderStateMixin, WidgetsBindingObserver { Event get event => widget._event; PangeaTokenText? _selectedSpan; @@ -77,6 +77,7 @@ class MessageOverlayController extends State @override void initState() { super.initState(); + WidgetsBinding.instance.addObserver(this); selectModeController = SelectModeController(pangeaMessageEvent); practiceController = PracticeController(pangeaMessageEvent); _initializeTokensAndMode(); @@ -85,11 +86,18 @@ class MessageOverlayController extends State ); } + @override + void didChangeMetrics() { + super.didChangeMetrics(); + widget.chatController.clearSelectedEvents(); + } + @override void dispose() { WidgetsBinding.instance.addPostFrameCallback( (_) => widget.chatController.clearSelectedEvents(), ); + WidgetsBinding.instance.removeObserver(this); selectModeController.dispose(); practiceController.dispose(); selectedTokenNotifier.dispose();