fix: close message overlay when screen size changes

This commit is contained in:
ggurdin 2025-12-18 14:02:26 -05:00
parent 18f97426e5
commit 193e458b7f
No known key found for this signature in database
GPG key ID: A01CB41737CBB478

View file

@ -54,7 +54,7 @@ class MessageSelectionOverlay extends StatefulWidget {
}
class MessageOverlayController extends State<MessageSelectionOverlay>
with SingleTickerProviderStateMixin {
with SingleTickerProviderStateMixin, WidgetsBindingObserver {
Event get event => widget._event;
PangeaTokenText? _selectedSpan;
@ -77,6 +77,7 @@ class MessageOverlayController extends State<MessageSelectionOverlay>
@override
void initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);
selectModeController = SelectModeController(pangeaMessageEvent);
practiceController = PracticeController(pangeaMessageEvent);
_initializeTokensAndMode();
@ -85,11 +86,18 @@ class MessageOverlayController extends State<MessageSelectionOverlay>
);
}
@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();