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, string? Format, string? LocationAddress, string? Description, string? System, int? DurationMinutes, bool IsOneShot, 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);