using GmRelay.Shared.Domain; namespace GmRelay.Shared.Rendering; public sealed record SessionBatchViewModel( string Title, IReadOnlyList Sessions); public sealed record SessionViewItem( Guid SessionId, DateTime ScheduledAt, string Status, int? MaxPlayers, string JoinLink, int ActivePlayerCount, IReadOnlyList ActivePlayers, IReadOnlyList WaitlistedPlayers, IReadOnlyList AvailableActions); public sealed record PlayerViewItem( string DisplayName, string? TelegramUsername, string RegistrationStatus); public sealed record AvailableAction( string ActionKey, string Label, Guid SessionId);