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:
Joe Milazzo 2023-08-18 08:11:02 -05:00 committed by GitHub
parent e1e6d676bb
commit fc13fcff29
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 77 additions and 8 deletions

View 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;
}
}