add GomuksEvent model
This commit is contained in:
parent
b4d5a632dd
commit
b154b4ee2e
1 changed files with 114 additions and 93 deletions
|
|
@ -17,6 +17,7 @@ import "package:nexus/models/content/name.dart";
|
|||
import "package:nexus/models/content/topic.dart";
|
||||
import "package:nexus/models/invited_room.dart";
|
||||
import "package:nexus/models/room_summary.dart";
|
||||
import "package:nexus/models/sync_data.dart";
|
||||
|
||||
/// Pending invites, newest first.
|
||||
class InvitesController extends Notifier<IList<RoomSummary>> {
|
||||
|
|
@ -103,6 +104,15 @@ class InvitesController extends Notifier<IList<RoomSummary>> {
|
|||
.removeWhere((invite) => removed.contains(invite.roomId));
|
||||
}
|
||||
|
||||
void handleSync(SyncData sync) {
|
||||
if (sync.clearState) state = .new();
|
||||
update(
|
||||
sync.invitedRooms,
|
||||
joinedRooms: sync.rooms.keys.toISet(),
|
||||
leftRooms: sync.leftRooms,
|
||||
);
|
||||
}
|
||||
|
||||
void remove(String roomId) =>
|
||||
state = state.removeWhere((invite) => invite.roomId == roomId);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue