Few More Fixes (#2032)
* Fixed spreads stretching on PC * Fixed a bug where reading list dates couldn't be cleared out. * Reading list page refreshes after updating info in the modal * Fixed an issue where create library wouldn't take into account advanced settings. * Fixed an issue where selection of the first chapter of a series to pull series-level metadata could fail in cases where you had Volume 2 and Chapter 1, Volume 2 would be selected.
This commit is contained in:
parent
cb3c021573
commit
061be58496
8 changed files with 81 additions and 63 deletions
|
@ -157,19 +157,19 @@ public class ReadingListService : IReadingListService
|
|||
readingList.CoverImageLocked = dto.CoverImageLocked;
|
||||
|
||||
|
||||
if (NumberHelper.IsValidMonth(dto.StartingMonth))
|
||||
if (NumberHelper.IsValidMonth(dto.StartingMonth) || dto.StartingMonth == 0)
|
||||
{
|
||||
readingList.StartingMonth = dto.StartingMonth;
|
||||
}
|
||||
if (NumberHelper.IsValidYear(dto.StartingYear))
|
||||
if (NumberHelper.IsValidYear(dto.StartingYear) || dto.StartingYear == 0)
|
||||
{
|
||||
readingList.StartingYear = dto.StartingYear;
|
||||
}
|
||||
if (NumberHelper.IsValidMonth(dto.EndingMonth))
|
||||
if (NumberHelper.IsValidMonth(dto.EndingMonth) || dto.EndingMonth == 0)
|
||||
{
|
||||
readingList.EndingMonth = dto.EndingMonth;
|
||||
}
|
||||
if (NumberHelper.IsValidYear(dto.EndingYear))
|
||||
if (NumberHelper.IsValidYear(dto.EndingYear) || dto.EndingYear == 0)
|
||||
{
|
||||
readingList.EndingYear = dto.EndingYear;
|
||||
}
|
||||
|
|
|
@ -48,14 +48,25 @@ public class SeriesService : ISeriesService
|
|||
/// <summary>
|
||||
/// Returns the first chapter for a series to extract metadata from (ie Summary, etc)
|
||||
/// </summary>
|
||||
/// <param name="series"></param>
|
||||
/// <param name="isBookLibrary"></param>
|
||||
/// <param name="series">The full series with all volumes and chapters on it</param>
|
||||
/// <returns></returns>
|
||||
public static Chapter? GetFirstChapterForMetadata(Series series, bool isBookLibrary)
|
||||
public static Chapter? GetFirstChapterForMetadata(Series series)
|
||||
{
|
||||
return series.Volumes.OrderBy(v => v.Number, ChapterSortComparer.Default)
|
||||
var sortedVolumes = series.Volumes.OrderBy(v => v.Number, ChapterSortComparer.Default);
|
||||
var minVolumeNumber = sortedVolumes
|
||||
.Where(v => v.Number != 0)
|
||||
.MinBy(v => v.Number);
|
||||
|
||||
var minChapter = series.Volumes
|
||||
.SelectMany(v => v.Chapters.OrderBy(c => float.Parse(c.Number), ChapterSortComparer.Default))
|
||||
.FirstOrDefault();
|
||||
|
||||
if (minVolumeNumber != null && minChapter != null && float.Parse(minChapter.Number) > minVolumeNumber.Number)
|
||||
{
|
||||
return minVolumeNumber.Chapters.MinBy(c => float.Parse(c.Number), ChapterSortComparer.Default);
|
||||
}
|
||||
|
||||
return minChapter;
|
||||
}
|
||||
|
||||
public async Task<bool> UpdateSeriesMetadata(UpdateSeriesMetadataDto updateSeriesMetadataDto)
|
||||
|
|
|
@ -266,8 +266,7 @@ public class ProcessSeries : IProcessSeries
|
|||
public void UpdateSeriesMetadata(Series series, Library library)
|
||||
{
|
||||
series.Metadata ??= new SeriesMetadataBuilder().Build();
|
||||
var isBook = library.Type == LibraryType.Book;
|
||||
var firstChapter = SeriesService.GetFirstChapterForMetadata(series, isBook);
|
||||
var firstChapter = SeriesService.GetFirstChapterForMetadata(series);
|
||||
|
||||
var firstFile = firstChapter?.Files.FirstOrDefault();
|
||||
if (firstFile == null) return;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue