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; }
}