diff --git a/ui/v2.5/src/components/Changelog/versions/v0100.md b/ui/v2.5/src/components/Changelog/versions/v0100.md index 2e02f9b90..937316ebe 100644 --- a/ui/v2.5/src/components/Changelog/versions/v0100.md +++ b/ui/v2.5/src/components/Changelog/versions/v0100.md @@ -1,4 +1,5 @@ ### ✨ New Features +* Added sort by option for gallery rating. ([#1720](https://github.com/stashapp/stash/pull/1720)) * Added support for querying scene scrapers using keywords. ([#1712](https://github.com/stashapp/stash/pull/1712)) * Added support for Studio aliases. ([#1660](https://github.com/stashapp/stash/pull/1660)) * Added support for Tag hierarchies. ([#1519](https://github.com/stashapp/stash/pull/1519)) diff --git a/ui/v2.5/src/models/list-filter/filter-options.ts b/ui/v2.5/src/models/list-filter/filter-options.ts index 9f4da0ab0..68bc23e79 100644 --- a/ui/v2.5/src/models/list-filter/filter-options.ts +++ b/ui/v2.5/src/models/list-filter/filter-options.ts @@ -6,6 +6,16 @@ interface ISortByOption { value: string; } +export const MediaSortByOptions = [ + "title", + "path", + "rating", + "file_mod_time", + "tag_count", + "performer_count", + "random", +]; + export class ListFilterOptions { public readonly defaultSortBy: string = ""; public readonly sortByOptions: ISortByOption[] = []; diff --git a/ui/v2.5/src/models/list-filter/galleries.ts b/ui/v2.5/src/models/list-filter/galleries.ts index 12450a71f..3845830e0 100644 --- a/ui/v2.5/src/models/list-filter/galleries.ts +++ b/ui/v2.5/src/models/list-filter/galleries.ts @@ -9,20 +9,12 @@ import { PerformerTagsCriterionOption, TagsCriterionOption, } from "./criteria/tags"; -import { ListFilterOptions } from "./filter-options"; +import { ListFilterOptions, MediaSortByOptions } from "./filter-options"; import { DisplayMode } from "./types"; const defaultSortBy = "path"; -const sortByOptions = [ - "date", - "path", - "file_mod_time", - "tag_count", - "performer_count", - "title", - "random", -] +const sortByOptions = ["date", ...MediaSortByOptions] .map(ListFilterOptions.createSortBy) .concat([ { diff --git a/ui/v2.5/src/models/list-filter/images.ts b/ui/v2.5/src/models/list-filter/images.ts index 157ce603d..31589c6a3 100644 --- a/ui/v2.5/src/models/list-filter/images.ts +++ b/ui/v2.5/src/models/list-filter/images.ts @@ -13,22 +13,14 @@ import { PerformerTagsCriterionOption, TagsCriterionOption, } from "./criteria/tags"; -import { ListFilterOptions } from "./filter-options"; +import { ListFilterOptions, MediaSortByOptions } from "./filter-options"; import { DisplayMode } from "./types"; const defaultSortBy = "path"; -const sortByOptions = [ - "title", - "path", - "rating", - "o_counter", - "filesize", - "file_mod_time", - "tag_count", - "performer_count", - "random", -].map(ListFilterOptions.createSortBy); +const sortByOptions = ["o_counter", "filesize", ...MediaSortByOptions].map( + ListFilterOptions.createSortBy +); const displayModeOptions = [DisplayMode.Grid, DisplayMode.Wall]; const criterionOptions = [ diff --git a/ui/v2.5/src/models/list-filter/scenes.ts b/ui/v2.5/src/models/list-filter/scenes.ts index 2b340abdc..54ea04b63 100644 --- a/ui/v2.5/src/models/list-filter/scenes.ts +++ b/ui/v2.5/src/models/list-filter/scenes.ts @@ -16,28 +16,22 @@ import { PerformerTagsCriterionOption, TagsCriterionOption, } from "./criteria/tags"; -import { ListFilterOptions } from "./filter-options"; +import { ListFilterOptions, MediaSortByOptions } from "./filter-options"; import { DisplayMode } from "./types"; import { PhashCriterionOption } from "./criteria/phash"; const defaultSortBy = "date"; const sortByOptions = [ - "title", - "path", - "rating", "organized", "o_counter", "date", "filesize", - "file_mod_time", "duration", "framerate", "bitrate", - "tag_count", - "performer_count", - "random", "movie_scene_number", "interactive", + ...MediaSortByOptions, ].map(ListFilterOptions.createSortBy); const displayModeOptions = [