Progress Overhaul + Profile Page and a LOT more! (#4262)

Co-authored-by: Amelia <77553571+Fesaa@users.noreply.github.com>
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
This commit is contained in:
Joe Milazzo
2025-12-09 10:00:11 -07:00
committed by GitHub
parent 4ac13f1f25
commit 9f29fa593d
645 changed files with 25585 additions and 4805 deletions
+15 -12
View File
@@ -2,8 +2,8 @@
using System.ComponentModel.DataAnnotations;
using API.DTOs.Theme;
using API.Entities;
using API.Entities.Enums;
using API.Entities.Enums.UserPreferences;
using API.Entities.User;
namespace API.DTOs;
#nullable enable
@@ -19,36 +19,39 @@ public sealed record UserPreferencesDto
public SiteThemeDto? Theme { get; set; }
public PageLayoutMode GlobalPageLayoutMode { get; set; } = PageLayoutMode.Cards;
/// <inheritdoc cref="API.Entities.AppUserPreferences.BlurUnreadSummaries"/>
/// <inheritdoc cref="AppUserPreferences.BlurUnreadSummaries"/>
[Required]
public bool BlurUnreadSummaries { get; set; } = false;
/// <inheritdoc cref="API.Entities.AppUserPreferences.PromptForDownloadSize"/>
/// <inheritdoc cref="AppUserPreferences.PromptForDownloadSize"/>
[Required]
public bool PromptForDownloadSize { get; set; } = true;
/// <inheritdoc cref="API.Entities.AppUserPreferences.NoTransitions"/>
/// <inheritdoc cref="AppUserPreferences.NoTransitions"/>
[Required]
public bool NoTransitions { get; set; } = false;
/// <inheritdoc cref="API.Entities.AppUserPreferences.CollapseSeriesRelationships"/>
/// <inheritdoc cref="AppUserPreferences.CollapseSeriesRelationships"/>
[Required]
public bool CollapseSeriesRelationships { get; set; } = false;
/// <inheritdoc cref="API.Entities.AppUserPreferences.Locale"/>
/// <inheritdoc cref="AppUserPreferences.Locale"/>
[Required]
public string Locale { get; set; }
/// <inheritdoc cref="API.Entities.AppUserPreferences.ColorScapeEnabled"/>
/// <inheritdoc cref="AppUserPreferences.ColorScapeEnabled"/>
[Required]
public bool ColorScapeEnabled { get; set; } = true;
/// <inheritdoc cref="API.Entities.AppUserPreferences.DataSaver"/>
/// <inheritdoc cref="AppUserPreferences.DataSaver"/>
[Required]
public bool DataSaver { get; set; } = false;
/// <inheritdoc cref="API.Entities.AppUserPreferences.CustomKeyBinds"/>
/// <inheritdoc cref="AppUserPreferences.PromptForRereadsAfter"/>
[Required]
public int PromptForRereadsAfter { get; set; }
/// <inheritdoc cref="AppUserPreferences.CustomKeyBinds"/>
[Required]
public Dictionary<KeyBindTarget, IList<KeyBind>> CustomKeyBinds { get; set; } = [];
/// <inheritdoc cref="API.Entities.AppUserPreferences.AniListScrobblingEnabled"/>
/// <inheritdoc cref="AppUserPreferences.AniListScrobblingEnabled"/>
public bool AniListScrobblingEnabled { get; set; }
/// <inheritdoc cref="API.Entities.AppUserPreferences.WantToReadSync"/>
/// <inheritdoc cref="AppUserPreferences.WantToReadSync"/>
public bool WantToReadSync { get; set; }
/// <inheritdoc cref="API.Entities.AppUserPreferences.BookReaderHighlightSlots"/>
/// <inheritdoc cref="AppUserPreferences.BookReaderHighlightSlots"/>
[Required]
public List<HighlightSlot> BookReaderHighlightSlots { get; set; }