about summary refs log tree commit diff
path: root/ModerationClient/Models/SpaceTreeNodes/SpaceNode.cs
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2025-03-31 09:32:24 +0200
committerRory& <root@rory.gay>2025-03-31 09:32:24 +0200
commit5c5a9fb78c45f80330775286b65b5d78e3e99934 (patch)
tree51ddc9889274cbd052f5f368e0c64b4d5c8747e0 /ModerationClient/Models/SpaceTreeNodes/SpaceNode.cs
parentFix some crashes (diff)
downloadModerationClient-5c5a9fb78c45f80330775286b65b5d78e3e99934.tar.xz
Cleanup and some error handling HEAD master
Diffstat (limited to 'ModerationClient/Models/SpaceTreeNodes/SpaceNode.cs')
-rw-r--r--ModerationClient/Models/SpaceTreeNodes/SpaceNode.cs18
1 files changed, 16 insertions, 2 deletions
diff --git a/ModerationClient/Models/SpaceTreeNodes/SpaceNode.cs b/ModerationClient/Models/SpaceTreeNodes/SpaceNode.cs

index b8042ae..781e974 100644 --- a/ModerationClient/Models/SpaceTreeNodes/SpaceNode.cs +++ b/ModerationClient/Models/SpaceTreeNodes/SpaceNode.cs
@@ -1,4 +1,7 @@ +using System; +using System.Collections.Generic; using System.Collections.ObjectModel; +using System.Linq; namespace ModerationClient.Models.SpaceTreeNodes; @@ -6,10 +9,21 @@ public class SpaceNode : RoomNode { private bool _isExpanded = false; public SpaceNode(bool includeSelf = true) { - if(includeSelf) + if (includeSelf) ChildRooms = [this]; + + ChildRooms.CollectionChanged += (_, _) => ChildRoomsByActivity = ChildRooms.OrderByDescending(x=>x.LastActivity).ToArray(); } public ObservableCollection<SpaceNode> ChildSpaces { get; set; } = []; - public ObservableCollection<RoomNode> ChildRooms { get; set; } = []; + + public ObservableCollection<RoomNode> ChildRooms { + get; + set => SetField(ref field, value); + } = []; + + public RoomNode[] ChildRoomsByActivity { + get; + set => SetField(ref field, value); + } = []; } \ No newline at end of file