feat: Collapse all state events by default

This commit is contained in:
Christian Kußowski 2025-06-21 11:15:28 +02:00
commit 103cb8328d
No known key found for this signature in database
GPG key ID: E067ECD60F1A0652
9 changed files with 121 additions and 79 deletions

View file

@ -339,6 +339,24 @@ class ChatController extends State<ChatPageWithRoom>
}
}
final Set<String> expandedEventIds = {};
void expandEventsFrom(Event event, bool expand) {
final events = timeline!.events.filterByVisibleInGui();
final start = events.indexOf(event);
setState(() {
for (var i = start; i < events.length; i++) {
final event = events[i];
if (!event.isCollapsedState) return;
if (expand) {
expandedEventIds.add(event.eventId);
} else {
expandedEventIds.remove(event.eventId);
}
}
});
}
void _tryLoadTimeline() async {
final initialEventId = widget.eventId;
loadTimelineFuture = _getTimeline();