chore: deselect events in message overlay dispose function

This commit is contained in:
ggurdin 2025-06-18 15:07:14 -04:00
parent fdb503cb6b
commit a2d4aa0f16
No known key found for this signature in database
GPG key ID: A01CB41737CBB478
3 changed files with 23 additions and 4 deletions

View file

@ -1651,6 +1651,13 @@ class ChatController extends State<ChatPageWithRoom>
showEmojiPicker = false;
});
}
void setSelectedEvent(Event event) {
setState(() {
selectedEvents.clear();
selectedEvents.add(event);
});
}
// Pangea#
void clearSingleSelectedEvent() {

View file

@ -109,8 +109,19 @@ class MessageOverlayController extends State<MessageSelectionOverlay>
@override
void initState() {
initializeTokensAndMode();
super.initState();
initializeTokensAndMode();
WidgetsBinding.instance.addPostFrameCallback(
(_) => widget.chatController.setSelectedEvent(event),
);
}
@override
void dispose() {
WidgetsBinding.instance.addPostFrameCallback(
(_) => widget.chatController.clearSelectedEvents(),
);
super.dispose();
}
Future<void> initializeTokensAndMode() async {

View file

@ -36,9 +36,10 @@ class OverlayHeaderState extends State<OverlayHeader> {
Widget build(BuildContext context) {
final l10n = L10n.of(context);
final theme = Theme.of(context);
final pinned = controller.room.pinnedEventIds.contains(
controller.selectedEvents.first.eventId,
);
final pinned = controller.selectedEvents.length == 1 &&
controller.room.pinnedEventIds.contains(
controller.selectedEvents.first.eventId,
);
return Container(
padding: const EdgeInsets.symmetric(horizontal: 10),
decoration: BoxDecoration(