Small fixes (#2224)
* Replaced normal dropdowns with select2 (which will eventually replace our custom typeaheads). Still needs styling. * More css * Styling. Fixed preloading typeahead with multiple options on load. * Styling to align with typeahead tag badges. * Done with filtering story. * Fixed a bug with switching between filters. * Fixed some extra } from localization * [skip ci] Translated using Weblate (Spanish) Currently translated at 71.3% (1058 of 1483 strings) Translation: Kavita/ui Translate-URL: https://hosted.weblate.org/projects/kavita/ui/es/ * [skip ci] Translated using Weblate (Dutch) Currently translated at 59.2% (879 of 1483 strings) Translation: Kavita/ui Translate-URL: https://hosted.weblate.org/projects/kavita/ui/nl/ * Translated using Weblate (Thai) Currently translated at 100.0% (160 of 160 strings) Translation: Kavita/backend Translate-URL: https://hosted.weblate.org/projects/kavita/backend/th/ * [skip ci] Translated using Weblate (Chinese (Simplified)) Currently translated at 99.9% (1482 of 1483 strings) Translation: Kavita/ui Translate-URL: https://hosted.weblate.org/projects/kavita/ui/zh_Hans/ * [skip ci] Translated using Weblate (Chinese (Simplified)) Currently translated at 99.9% (1482 of 1483 strings) Translation: Kavita/ui Translate-URL: https://hosted.weblate.org/projects/kavita/ui/zh_Hans/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 96.8% (155 of 160 strings) Translation: Kavita/backend Translate-URL: https://hosted.weblate.org/projects/kavita/backend/zh_Hans/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 96.8% (155 of 160 strings) Translation: Kavita/backend Translate-URL: https://hosted.weblate.org/projects/kavita/backend/zh_Hans/ * [skip ci] Translated using Weblate (Thai) Currently translated at 27.2% (404 of 1483 strings) Translation: Kavita/ui Translate-URL: https://hosted.weblate.org/projects/kavita/ui/th/ * Translated using Weblate (Portuguese) Currently translated at 100.0% (160 of 160 strings) Translation: Kavita/backend Translate-URL: https://hosted.weblate.org/projects/kavita/backend/pt/ * [skip ci] Translated using Weblate (Portuguese) Currently translated at 55.3% (821 of 1483 strings) Translation: Kavita/ui Translate-URL: https://hosted.weblate.org/projects/kavita/ui/pt/ * [skip ci] Translated using Weblate (Japanese) Currently translated at 2.0% (30 of 1483 strings) Translation: Kavita/ui Translate-URL: https://hosted.weblate.org/projects/kavita/ui/ja/ * [skip ci] Translated using Weblate (Portuguese (Brazil)) Currently translated at 82.1% (1218 of 1483 strings) Translation: Kavita/ui Translate-URL: https://hosted.weblate.org/projects/kavita/ui/pt_BR/ * [skip ci] Translated using Weblate (Chinese (Simplified)) Currently translated at 99.9% (1482 of 1483 strings) Translation: Kavita/ui Translate-URL: https://hosted.weblate.org/projects/kavita/ui/zh_Hans/ * [skip ci] Translated using Weblate (Turkish) Currently translated at 7.6% (113 of 1483 strings) Translation: Kavita/ui Translate-URL: https://hosted.weblate.org/projects/kavita/ui/tr/ * [skip ci] Translated using Weblate (Portuguese) Currently translated at 62.7% (930 of 1483 strings) Translation: Kavita/ui Translate-URL: https://hosted.weblate.org/projects/kavita/ui/pt/ * [skip ci] Translated using Weblate (Italian) Currently translated at 26.0% (387 of 1483 strings) Translation: Kavita/ui Translate-URL: https://hosted.weblate.org/projects/kavita/ui/it/ * [skip ci] Translated using Weblate (Portuguese) Currently translated at 68.3% (1013 of 1483 strings) Translation: Kavita/ui Translate-URL: https://hosted.weblate.org/projects/kavita/ui/pt/ * Added translation using Weblate (Czech) * [skip ci] Added translation using Weblate (Czech) * Some files got left off last release * Fixed on deck prefilter * Fixed a sizing issue on list item and brought the columns in on series detail as well. --------- Co-authored-by: gallegonovato <fran-carro@hotmail.es> Co-authored-by: Hans Kalisvaart <hans.kalisvaart@gmail.com> Co-authored-by: AlienHack <the4got10@windowslive.com> Co-authored-by: 书签 <shuqian.emu@gmail.com> Co-authored-by: 周書丞 <tmrsm_chan@hotmail.com> Co-authored-by: Duarte Silva <smallflake@protonmail.com> Co-authored-by: Andre Smith <andrepsmithjr@gmail.com> Co-authored-by: Havokdan <havokdan@yahoo.com.br> Co-authored-by: xe1st <dnzkckali@gmail.com> Co-authored-by: Tomas Battistini <tomas.battistini@gmail.com> Co-authored-by: Jiří Heger <jiri.heger@gmail.com>
This commit is contained in:
parent
e1e6d676bb
commit
fc13fcff29
5 changed files with 77 additions and 8 deletions
59
API/Extensions/QueryExtensions/Filtering/BookmarkSort.cs
Normal file
59
API/Extensions/QueryExtensions/Filtering/BookmarkSort.cs
Normal file
|
@ -0,0 +1,59 @@
|
|||
using System.Linq;
|
||||
using API.DTOs.Filtering;
|
||||
using API.Entities;
|
||||
|
||||
namespace API.Extensions.QueryExtensions.Filtering;
|
||||
|
||||
public class BookmarkSeriesPair
|
||||
{
|
||||
public AppUserBookmark bookmark { get; set; }
|
||||
public Series series { get; set; }
|
||||
}
|
||||
|
||||
public static class BookmarkSort
|
||||
{
|
||||
/// <summary>
|
||||
/// Applies the correct sort based on <see cref="SortOptions"/>
|
||||
/// </summary>
|
||||
/// <param name="query"></param>
|
||||
/// <param name="sortOptions"></param>
|
||||
/// <returns></returns>
|
||||
public static IQueryable<BookmarkSeriesPair> Sort(this IQueryable<BookmarkSeriesPair> query, SortOptions? sortOptions)
|
||||
{
|
||||
// If no sort options, default to using SortName
|
||||
sortOptions ??= new SortOptions()
|
||||
{
|
||||
IsAscending = true,
|
||||
SortField = SortField.SortName
|
||||
};
|
||||
|
||||
if (sortOptions.IsAscending)
|
||||
{
|
||||
query = sortOptions.SortField switch
|
||||
{
|
||||
SortField.SortName => query.OrderBy(s => s.series.SortName.ToLower()),
|
||||
SortField.CreatedDate => query.OrderBy(s => s.series.Created),
|
||||
SortField.LastModifiedDate => query.OrderBy(s => s.series.LastModified),
|
||||
SortField.LastChapterAdded => query.OrderBy(s => s.series.LastChapterAdded),
|
||||
SortField.TimeToRead => query.OrderBy(s => s.series.AvgHoursToRead),
|
||||
SortField.ReleaseYear => query.OrderBy(s => s.series.Metadata.ReleaseYear),
|
||||
_ => query
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
query = sortOptions.SortField switch
|
||||
{
|
||||
SortField.SortName => query.OrderByDescending(s => s.series.SortName.ToLower()),
|
||||
SortField.CreatedDate => query.OrderByDescending(s => s.series.Created),
|
||||
SortField.LastModifiedDate => query.OrderByDescending(s => s.series.LastModified),
|
||||
SortField.LastChapterAdded => query.OrderByDescending(s => s.series.LastChapterAdded),
|
||||
SortField.TimeToRead => query.OrderByDescending(s => s.series.AvgHoursToRead),
|
||||
SortField.ReleaseYear => query.OrderByDescending(s => s.series.Metadata.ReleaseYear),
|
||||
_ => query
|
||||
};
|
||||
}
|
||||
|
||||
return query;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue