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, string WinnerPlatform, string WinnerUrl); public sealed record ArchiveYearDto( int Year, int WinnerCount); public sealed record FaqItemDto(string Question, string Answer); public sealed record PublicSocialLinkDto( string Label, string Platform, string Url, string? Icon = null, bool ShowOnHost = true, bool ShowOnCommunity = true); public sealed record FooterLinkDto( string Key, string Label, string Url, string Content); public sealed record PublicSiteContentDto( string HostDisplayName, string HostTagline, string NewsletterUrl, string PrivacyEmail, string PrivacyPolicyContent, IEnumerable SocialLinks, IEnumerable FooterLinks); public sealed record PublicSiteStatusResponse( bool DemoLoginEnabled, bool MaintenanceModeEnabled, string MaintenanceTitle, string MaintenanceMessage); public sealed record OverviewResponse( int SeasonId, int Year, string Title, DateOnly ShowDate, TimeOnly ShowStartsAt, string ShowStreamUrl, string CurrentPhase, bool IsCommunityOnly, string LoginProvider, IEnumerable Timeline, IEnumerable FeaturedCategories, IEnumerable WinnersPreview, IEnumerable ArchiveYears, PublicSiteContentDto SiteContent, IEnumerable Faq);