mirror of
https://github.com/stashapp/stash.git
synced 2025-12-17 20:34:37 +03:00
Add support for favorite Studios (#4675)
* Backend changes * Add favorite icon to studio cards * Add favorite button to studio page * Add studio favorite filtering
This commit is contained in:
@@ -1,14 +1,26 @@
|
||||
import { BooleanCriterion, BooleanCriterionOption } from "./criterion";
|
||||
|
||||
export const FavoriteCriterionOption = new BooleanCriterionOption(
|
||||
export const FavoritePerformerCriterionOption = new BooleanCriterionOption(
|
||||
"favourite",
|
||||
"filter_favorites",
|
||||
() => new FavoriteCriterion()
|
||||
() => new FavoritePerformerCriterion()
|
||||
);
|
||||
|
||||
export class FavoriteCriterion extends BooleanCriterion {
|
||||
export class FavoritePerformerCriterion extends BooleanCriterion {
|
||||
constructor() {
|
||||
super(FavoriteCriterionOption);
|
||||
super(FavoritePerformerCriterionOption);
|
||||
}
|
||||
}
|
||||
|
||||
export const FavoriteStudioCriterionOption = new BooleanCriterionOption(
|
||||
"favourite",
|
||||
"favorite",
|
||||
() => new FavoriteStudioCriterion()
|
||||
);
|
||||
|
||||
export class FavoriteStudioCriterion extends BooleanCriterion {
|
||||
constructor() {
|
||||
super(FavoriteStudioCriterionOption);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import {
|
||||
createDateCriterionOption,
|
||||
createMandatoryTimestampCriterionOption,
|
||||
} from "./criteria/criterion";
|
||||
import { FavoriteCriterionOption } from "./criteria/favorite";
|
||||
import { FavoritePerformerCriterionOption } from "./criteria/favorite";
|
||||
import { GenderCriterionOption } from "./criteria/gender";
|
||||
import { CircumcisedCriterionOption } from "./criteria/circumcised";
|
||||
import { PerformerIsMissingCriterionOption } from "./criteria/is-missing";
|
||||
@@ -81,7 +81,7 @@ const stringCriteria: CriterionType[] = [
|
||||
];
|
||||
|
||||
const criterionOptions = [
|
||||
FavoriteCriterionOption,
|
||||
FavoritePerformerCriterionOption,
|
||||
GenderCriterionOption,
|
||||
CircumcisedCriterionOption,
|
||||
PerformerIsMissingCriterionOption,
|
||||
|
||||
@@ -5,6 +5,7 @@ import {
|
||||
createStringCriterionOption,
|
||||
createMandatoryTimestampCriterionOption,
|
||||
} from "./criteria/criterion";
|
||||
import { FavoriteStudioCriterionOption } from "./criteria/favorite";
|
||||
import { StudioIsMissingCriterionOption } from "./criteria/is-missing";
|
||||
import { RatingCriterionOption } from "./criteria/rating";
|
||||
import { StashIDCriterionOption } from "./criteria/stash-ids";
|
||||
@@ -36,6 +37,7 @@ const sortByOptions = ["name", "random", "rating"]
|
||||
|
||||
const displayModeOptions = [DisplayMode.Grid, DisplayMode.Tagger];
|
||||
const criterionOptions = [
|
||||
FavoriteStudioCriterionOption,
|
||||
createMandatoryStringCriterionOption("name"),
|
||||
createStringCriterionOption("details"),
|
||||
ParentStudiosCriterionOption,
|
||||
|
||||
@@ -135,6 +135,7 @@ export type CriterionType =
|
||||
| "audio_codec"
|
||||
| "duration"
|
||||
| "filter_favorites"
|
||||
| "favorite"
|
||||
| "has_markers"
|
||||
| "is_missing"
|
||||
| "tags"
|
||||
|
||||
Reference in New Issue
Block a user