chore: Follow up fix pinned event ids
This commit is contained in:
parent
472783c306
commit
34a1aef71a
1 changed files with 8 additions and 10 deletions
|
|
@ -886,18 +886,16 @@ class ChatController extends State<Chat> {
|
|||
if (room == null) return;
|
||||
final pinnedEventIds = room.pinnedEventIds;
|
||||
final selectedEventIds = selectedEvents.map((e) => e.eventId).toSet();
|
||||
final pin = selectedEventIds.any((e) => !pinnedEventIds.contains(e));
|
||||
final unpin = selectedEventIds.length == 1 &&
|
||||
pinnedEventIds.contains(selectedEventIds.single);
|
||||
if (unpin) {
|
||||
pinnedEventIds.removeWhere(selectedEventIds.contains);
|
||||
} else {
|
||||
pinnedEventIds.addAll(selectedEventIds);
|
||||
}
|
||||
showFutureLoadingDialog(
|
||||
context: context,
|
||||
future: () => room.setPinnedEvents(
|
||||
pin
|
||||
? <String>{
|
||||
...pinnedEventIds,
|
||||
...selectedEvents.map((e) => e.eventId),
|
||||
}.toList()
|
||||
: pinnedEventIds
|
||||
..removeWhere(selectedEventIds.contains),
|
||||
),
|
||||
future: () => room.setPinnedEvents(pinnedEventIds),
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue