PDF Reader Settings, New Reading Modes, and lots of fixes (#2828)
Co-authored-by: Elry <144011449+ElryWeeb@users.noreply.github.com> Co-authored-by: AlienHack <the4got10@windowslive.com> Co-authored-by: William Brockhus <pickeringw@gmail.com> Co-authored-by: Shivam Amin <xShivam.Amin@gmail.com>
This commit is contained in:
parent
f22f30b5a9
commit
2bde0ac82a
55 changed files with 4410 additions and 439 deletions
|
|
@ -7,6 +7,9 @@ namespace API.Entities;
|
|||
public class AppUserPreferences
|
||||
{
|
||||
public int Id { get; set; }
|
||||
|
||||
#region MangaReader
|
||||
|
||||
/// <summary>
|
||||
/// Manga Reader Option: What direction should the next/prev page buttons go
|
||||
/// </summary>
|
||||
|
|
@ -51,6 +54,11 @@ public class AppUserPreferences
|
|||
/// Manga Reader Option: Should swiping trigger pagination
|
||||
/// </summary>
|
||||
public bool SwipeToPaginate { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region EpubReader
|
||||
|
||||
/// <summary>
|
||||
/// Book Reader Option: Override extra Margin
|
||||
/// </summary>
|
||||
|
|
@ -75,17 +83,11 @@ public class AppUserPreferences
|
|||
/// Book Reader Option: What direction should the next/prev page buttons go
|
||||
/// </summary>
|
||||
public ReadingDirection BookReaderReadingDirection { get; set; } = ReadingDirection.LeftToRight;
|
||||
|
||||
/// <summary>
|
||||
/// Book Reader Option: Defines the writing styles vertical/horizontal
|
||||
/// </summary>
|
||||
public WritingStyle BookReaderWritingStyle { get; set; } = WritingStyle.Horizontal;
|
||||
/// <summary>
|
||||
/// UI Site Global Setting: The UI theme the user should use.
|
||||
/// </summary>
|
||||
/// <remarks>Should default to Dark</remarks>
|
||||
public required SiteTheme Theme { get; set; } = Seed.DefaultThemes[0];
|
||||
/// <summary>
|
||||
/// Book Reader Option: The color theme to decorate the book contents
|
||||
/// </summary>
|
||||
/// <remarks>Should default to Dark</remarks>
|
||||
|
|
@ -101,6 +103,37 @@ public class AppUserPreferences
|
|||
/// </summary>
|
||||
/// <remarks>Defaults to false</remarks>
|
||||
public bool BookReaderImmersiveMode { get; set; } = false;
|
||||
#endregion
|
||||
|
||||
#region PdfReader
|
||||
|
||||
/// <summary>
|
||||
/// PDF Reader: Theme of the Reader
|
||||
/// </summary>
|
||||
public PdfTheme PdfTheme { get; set; } = PdfTheme.Dark;
|
||||
/// <summary>
|
||||
/// PDF Reader: Scroll mode of the reader
|
||||
/// </summary>
|
||||
public PdfScrollMode PdfScrollMode { get; set; } = PdfScrollMode.Vertical;
|
||||
/// <summary>
|
||||
/// PDF Reader: Layout Mode of the reader
|
||||
/// </summary>
|
||||
public PdfLayoutMode PdfLayoutMode { get; set; } = PdfLayoutMode.Multiple;
|
||||
/// <summary>
|
||||
/// PDF Reader: Spread Mode of the reader
|
||||
/// </summary>
|
||||
public PdfSpreadMode PdfSpreadMode { get; set; } = PdfSpreadMode.None;
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region Global
|
||||
|
||||
/// <summary>
|
||||
/// UI Site Global Setting: The UI theme the user should use.
|
||||
/// </summary>
|
||||
/// <remarks>Should default to Dark</remarks>
|
||||
public required SiteTheme Theme { get; set; } = Seed.DefaultThemes[0];
|
||||
/// <summary>
|
||||
/// Global Site Option: If the UI should layout items as Cards or List items
|
||||
/// </summary>
|
||||
|
|
@ -132,6 +165,8 @@ public class AppUserPreferences
|
|||
/// </summary>
|
||||
public string Locale { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
public AppUser AppUser { get; set; } = null!;
|
||||
public int AppUserId { get; set; }
|
||||
}
|
||||
|
|
|
|||
21
API/Entities/Enums/UserPreferences/PdfBookMode.cs
Normal file
21
API/Entities/Enums/UserPreferences/PdfBookMode.cs
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
using System.ComponentModel;
|
||||
|
||||
namespace API.Entities.Enums.UserPreferences;
|
||||
|
||||
public enum PdfLayoutMode
|
||||
{
|
||||
/// <summary>
|
||||
/// Multiple pages render stacked (normal pdf experience)
|
||||
/// </summary>
|
||||
[Description("Multiple")]
|
||||
Multiple = 0,
|
||||
// [Description("Single")]
|
||||
// Single = 1,
|
||||
/// <summary>
|
||||
/// A book mode where page turns are animated and layout is side-by-side
|
||||
/// </summary>
|
||||
[Description("Book")]
|
||||
Book = 2,
|
||||
// [Description("Infinite Scroll")]
|
||||
// InfiniteScroll = 3
|
||||
}
|
||||
21
API/Entities/Enums/UserPreferences/PdfScrollMode.cs
Normal file
21
API/Entities/Enums/UserPreferences/PdfScrollMode.cs
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
using System.ComponentModel;
|
||||
|
||||
namespace API.Entities.Enums.UserPreferences;
|
||||
|
||||
/// <summary>
|
||||
/// Enum values match PdfViewer's enums
|
||||
/// </summary>
|
||||
public enum PdfScrollMode
|
||||
{
|
||||
[Description("Vertical")]
|
||||
Vertical = 0,
|
||||
[Description("Horizontal")]
|
||||
Horizontal = 1,
|
||||
// [Description("Wrapped")]
|
||||
// Wrapped = 2,
|
||||
/// <summary>
|
||||
/// Single page view (tap to pagninate)
|
||||
/// </summary>
|
||||
[Description("Page")]
|
||||
Page = 3
|
||||
}
|
||||
13
API/Entities/Enums/UserPreferences/PdfSpreadMode.cs
Normal file
13
API/Entities/Enums/UserPreferences/PdfSpreadMode.cs
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
using System.ComponentModel;
|
||||
|
||||
namespace API.Entities.Enums.UserPreferences;
|
||||
|
||||
public enum PdfSpreadMode
|
||||
{
|
||||
[Description("None")]
|
||||
None = 0,
|
||||
[Description("Odd")]
|
||||
Odd = 1,
|
||||
[Description("Even")]
|
||||
Even = 2
|
||||
}
|
||||
11
API/Entities/Enums/UserPreferences/PdfTheme.cs
Normal file
11
API/Entities/Enums/UserPreferences/PdfTheme.cs
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
using System.ComponentModel;
|
||||
|
||||
namespace API.Entities.Enums.UserPreferences;
|
||||
|
||||
public enum PdfTheme
|
||||
{
|
||||
[Description("Dark")]
|
||||
Dark = 0,
|
||||
[Description("Light")]
|
||||
Light = 1
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue