about summary refs log tree commit diff
path: root/ModerationClient/Models/SpaceTreeNodes/RoomNode.cs
blob: 5edc7db943121fafdd5d6ac1202307d610bb8ee0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using ArcaneLibs;
using Avalonia.Controls;
using LibMatrix;
using ModerationClient.Services;

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);
    }
    
    public ObservableCollection<StateEventResponse> Timeline { get; } = new();
    public ObservableCollection<StateEventResponse> State { get; } = new();
    public List<Control> RenderedTimeline => Timeline.Select(EventRenderer.RenderEvent).ToList();

    public long? LastActivity => Timeline.LastOrDefault()?.OriginServerTs;
}