New UX Part 1.5 (#3105)

This commit is contained in:
Joe Milazzo 2024-08-11 06:10:46 -05:00 committed by GitHub
parent c188e0f23b
commit ac21b04fa4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
239 changed files with 1626 additions and 776 deletions

View file

@ -0,0 +1,29 @@
using System.Threading.Tasks;
using API.Data;
using API.Data.Repositories;
using API.DTOs;
using Microsoft.AspNetCore.Mvc;
namespace API.Controllers;
public class ChapterController : BaseApiController
{
private readonly IUnitOfWork _unitOfWork;
public ChapterController(IUnitOfWork unitOfWork)
{
_unitOfWork = unitOfWork;
}
[HttpGet]
public async Task<ActionResult<ChapterDto>> GetChapter(int chapterId)
{
var chapter =
await _unitOfWork.ChapterRepository.GetChapterDtoAsync(chapterId,
ChapterIncludes.People | ChapterIncludes.Files);
return Ok(chapter);
}
}

View file

@ -229,22 +229,25 @@ public class SeriesController : BaseApiController
{
// Trigger a refresh when we are moving from a locked image to a non-locked
needsRefreshMetadata = true;
series.CoverImage = string.Empty;
series.CoverImage = null;
series.CoverImageLocked = updateSeries.CoverImageLocked;
series.ResetColorScape();
}
_unitOfWork.SeriesRepository.Update(series);
if (await _unitOfWork.CommitAsync())
if (!await _unitOfWork.CommitAsync())
{
if (needsRefreshMetadata)
{
_taskScheduler.RefreshSeriesMetadata(series.LibraryId, series.Id);
}
return Ok();
return BadRequest(await _localizationService.Translate(User.GetUserId(), "generic-series-update"));
}
return BadRequest(await _localizationService.Translate(User.GetUserId(), "generic-series-update"));
if (needsRefreshMetadata)
{
_taskScheduler.RefreshSeriesMetadata(series.LibraryId, series.Id);
}
return Ok();
}
/// <summary>

View file

@ -377,6 +377,7 @@ public class UploadController : BaseApiController
if (string.IsNullOrEmpty(uploadFileDto.Url))
{
library.CoverImage = null;
library.ResetColorScape();
_unitOfWork.LibraryRepository.Update(library);
if (_unitOfWork.HasChanges())
{

View file

@ -163,4 +163,10 @@ public class ChapterDto : IHasReadTimeEstimate, IHasCoverImage
public string CoverImage { get; set; }
public string PrimaryColor { get; set; }
public string SecondaryColor { get; set; }
public void ResetColorScape()
{
PrimaryColor = string.Empty;
SecondaryColor = string.Empty;
}
}

View file

@ -19,8 +19,8 @@ public class AppUserCollectionDto : IHasCoverImage
/// </summary>
public string? CoverImage { get; set; } = string.Empty;
public string PrimaryColor { get; set; }
public string SecondaryColor { get; set; }
public string PrimaryColor { get; set; } = string.Empty;
public string SecondaryColor { get; set; } = string.Empty;
public bool CoverImageLocked { get; set; }
/// <summary>
@ -48,4 +48,10 @@ public class AppUserCollectionDto : IHasCoverImage
/// A <br/> separated string of all missing series
/// </summary>
public string? MissingSeriesFromSource { get; set; }
public void ResetColorScape()
{
PrimaryColor = string.Empty;
SecondaryColor = string.Empty;
}
}

View file

@ -19,8 +19,8 @@ public class ReadingListDto : IHasCoverImage
/// </summary>
public string? CoverImage { get; set; } = string.Empty;
public string PrimaryColor { get; set; }
public string SecondaryColor { get; set; }
public string PrimaryColor { get; set; } = string.Empty;
public string SecondaryColor { get; set; } = string.Empty;
/// <summary>
/// Minimum Year the Reading List starts
@ -39,4 +39,10 @@ public class ReadingListDto : IHasCoverImage
/// </summary>
public int EndingMonth { get; set; }
public void ResetColorScape()
{
PrimaryColor = string.Empty;
SecondaryColor = string.Empty;
}
}

View file

@ -66,4 +66,10 @@ public class SeriesDto : IHasReadTimeEstimate, IHasCoverImage
public string? CoverImage { get; set; }
public string PrimaryColor { get; set; }
public string SecondaryColor { get; set; }
public void ResetColorScape()
{
PrimaryColor = string.Empty;
SecondaryColor = string.Empty;
}
}

View file

@ -66,4 +66,10 @@ public class VolumeDto : IHasReadTimeEstimate, IHasCoverImage
public string CoverImage { get; set; }
public string PrimaryColor { get; set; }
public string SecondaryColor { get; set; }
public void ResetColorScape()
{
PrimaryColor = string.Empty;
SecondaryColor = string.Empty;
}
}

View file

@ -59,6 +59,12 @@ public class AppUserCollection : IEntityDate, IHasCoverImage
/// </summary>
public string? MissingSeriesFromSource { get; set; }
public void ResetColorScape()
{
PrimaryColor = string.Empty;
SecondaryColor = string.Empty;
}
// Relationship
public AppUser AppUser { get; set; } = null!;
public int AppUserId { get; set; }

View file

@ -193,4 +193,10 @@ public class Chapter : IEntityDate, IHasReadTimeEstimate, IHasCoverImage
{
return MinNumber.Is(Parser.DefaultChapterNumber) && !IsSpecial;
}
public void ResetColorScape()
{
PrimaryColor = string.Empty;
SecondaryColor = string.Empty;
}
}

View file

@ -1,5 +1,7 @@
namespace API.Entities.Interfaces;
#nullable enable
public interface IHasCoverImage
{
/// <summary>
@ -16,4 +18,9 @@ public interface IHasCoverImage
/// Secondary color derived from the Cover Image
/// </summary>
public string? SecondaryColor { get; set; }
/// <summary>
/// Nulls out the ColorScape properties
/// </summary>
void ResetColorScape();
}

View file

@ -80,4 +80,10 @@ public class Library : IEntityDate, IHasCoverImage
LastScanned = (DateTime) time;
}
}
public void ResetColorScape()
{
PrimaryColor = string.Empty;
SecondaryColor = string.Empty;
}
}

View file

@ -59,4 +59,10 @@ public class ReadingList : IEntityDate, IHasCoverImage
// Relationships
public int AppUserId { get; set; }
public AppUser AppUser { get; set; } = null!;
public void ResetColorScape()
{
PrimaryColor = string.Empty;
SecondaryColor = string.Empty;
}
}

View file

@ -145,4 +145,10 @@ public class Series : IEntityDate, IHasReadTimeEstimate, IHasCoverImage
NormalizedName == localizedNameNormalized ||
NormalizedLocalizedName == localizedNameNormalized;
}
public void ResetColorScape()
{
PrimaryColor = string.Empty;
SecondaryColor = string.Empty;
}
}

View file

@ -73,4 +73,10 @@ public class Volume : IEntityDate, IHasReadTimeEstimate, IHasCoverImage
return $"{MinNumber}-{MaxNumber}";
}
public void ResetColorScape()
{
PrimaryColor = string.Empty;
SecondaryColor = string.Empty;
}
}