namespace Backend.Contracts; public sealed record TimelineItem( string Key, string Title, DateOnly StartsAt, DateOnly EndsAt, string State); public sealed record FeaturedCategoryDto( int Id, string GroupName, string Name, string Description, int MaxNomineesPerUser); public sealed record WinnerPreviewDto( int Year, string Category, string WinnerName, string WinnerSlug); public sealed record FaqItemDto(string Question, string Answer); public sealed record OverviewResponse( int SeasonId, int Year, string Title, DateOnly ShowDate, string CurrentPhase, bool IsCommunityOnly, string LoginProvider, IEnumerable Timeline, IEnumerable FeaturedCategories, IEnumerable WinnersPreview, IEnumerable Faq); public sealed record CandidateSummaryDto( int Id, string DisplayName, string ChannelSlug, string Platform); public sealed record PublicCategoryDetailDto( int Id, string Name, string GroupName, string Description, int MaxNomineesPerUser, IEnumerable Candidates); public sealed record SeasonCategoriesResponse( int SeasonId, int Year, IEnumerable Categories); public sealed record WinnerArchiveItemDto( string Category, string WinnerName, string WinnerSlug); public sealed record WinnerArchiveResponse( int Year, IEnumerable Items); public sealed record CreateNominationRequest( int Year, int CategoryId, string TwitchUserId, string[] Nominees); public sealed record VoteEntryRequest( int CategoryId, int CandidateId); public sealed record CreateVoteRequest( int SeasonId, string TwitchUserId, VoteEntryRequest[] Entries);