Merge pull request #4901 from pangeachat/4899-any-change-to-screen-dimensions-moves-clicked-on-sentence-to-top-right

fix: close message overlay when screen size changes
This commit is contained in:
ggurdin 2025-12-18 14:02:56 -05:00 committed by GitHub
commit b8bb4ea4a0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

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();