2 files changed, 29 insertions, 0 deletions
diff --git a/ModerationClient/Models/SpaceTreeNodes/RoomNode.cs b/ModerationClient/Models/SpaceTreeNodes/RoomNode.cs
new file mode 100644
index 0000000..76d5aa9
--- /dev/null
+++ b/ModerationClient/Models/SpaceTreeNodes/RoomNode.cs
@@ -0,0 +1,14 @@
+using ArcaneLibs;
+
+namespace ModerationClient.Models.SpaceTreeNodes;
+
+public class RoomNode : NotifyPropertyChanged {
+ private string? _name;
+
+ public string RoomID { get; set; }
+
+ public string? Name {
+ get => _name;
+ set => SetField(ref _name, value);
+ }
+}
\ No newline at end of file
diff --git a/ModerationClient/Models/SpaceTreeNodes/SpaceNode.cs b/ModerationClient/Models/SpaceTreeNodes/SpaceNode.cs
new file mode 100644
index 0000000..b8042ae
--- /dev/null
+++ b/ModerationClient/Models/SpaceTreeNodes/SpaceNode.cs
@@ -0,0 +1,15 @@
+using System.Collections.ObjectModel;
+
+namespace ModerationClient.Models.SpaceTreeNodes;
+
+public class SpaceNode : RoomNode {
+ private bool _isExpanded = false;
+
+ public SpaceNode(bool includeSelf = true) {
+ if(includeSelf)
+ ChildRooms = [this];
+ }
+
+ public ObservableCollection<SpaceNode> ChildSpaces { get; set; } = [];
+ public ObservableCollection<RoomNode> ChildRooms { get; set; } = [];
+}
\ No newline at end of file
|