using System.ComponentModel.DataAnnotations; using API.DTOs.Theme; using API.Entities; using API.Entities.Enums; using API.Entities.Enums.UserPreferences; namespace API.DTOs; #nullable enable public sealed record UserPreferencesDto { /// /// UI Site Global Setting: The UI theme the user should use. /// /// Should default to Dark [Required] public SiteThemeDto? Theme { get; set; } public PageLayoutMode GlobalPageLayoutMode { get; set; } = PageLayoutMode.Cards; /// [Required] public bool BlurUnreadSummaries { get; set; } = false; /// [Required] public bool PromptForDownloadSize { get; set; } = true; /// [Required] public bool NoTransitions { get; set; } = false; /// [Required] public bool CollapseSeriesRelationships { get; set; } = false; /// [Required] public bool ShareReviews { get; set; } = false; /// [Required] public string Locale { get; set; } /// public bool AniListScrobblingEnabled { get; set; } /// public bool WantToReadSync { get; set; } }