Add performer pairings/appears with tab to performers (#3563)

* database query

* Appears With panel

* Typos

* Validation fix

* naming consistency,  remove extraneous component.

---------

Co-authored-by: kermieisinthehouse <kermie@isinthe.house>
This commit is contained in:
dogwithakeyboard
2023-04-24 22:38:49 +01:00
committed by GitHub
parent 64b7934af2
commit 3bc5caa6de
12 changed files with 187 additions and 8 deletions

View File

@@ -21,12 +21,14 @@ import { faHeart, faTag } from "@fortawesome/free-solid-svg-icons";
import { RatingBanner } from "../Shared/RatingBanner";
import cx from "classnames";
import { usePerformerUpdate } from "src/core/StashService";
import { ILabeledId } from "src/models/list-filter/types";
export interface IPerformerCardExtraCriteria {
scenes: Criterion<CriterionValue>[];
images: Criterion<CriterionValue>[];
galleries: Criterion<CriterionValue>[];
movies: Criterion<CriterionValue>[];
scenes?: Criterion<CriterionValue>[];
images?: Criterion<CriterionValue>[];
galleries?: Criterion<CriterionValue>[];
movies?: Criterion<CriterionValue>[];
performer?: ILabeledId;
}
interface IPerformerCardProps {
@@ -104,7 +106,11 @@ export const PerformerCard: React.FC<IPerformerCardProps> = ({
className="scene-count"
type="scene"
count={performer.scene_count}
url={NavUtils.makePerformerScenesUrl(performer, extraCriteria?.scenes)}
url={NavUtils.makePerformerScenesUrl(
performer,
extraCriteria?.performer,
extraCriteria?.scenes
)}
/>
);
}
@@ -117,7 +123,11 @@ export const PerformerCard: React.FC<IPerformerCardProps> = ({
className="image-count"
type="image"
count={performer.image_count}
url={NavUtils.makePerformerImagesUrl(performer, extraCriteria?.images)}
url={NavUtils.makePerformerImagesUrl(
performer,
extraCriteria?.performer,
extraCriteria?.images
)}
/>
);
}
@@ -132,6 +142,7 @@ export const PerformerCard: React.FC<IPerformerCardProps> = ({
count={performer.gallery_count}
url={NavUtils.makePerformerGalleriesUrl(
performer,
extraCriteria?.performer,
extraCriteria?.galleries
)}
/>
@@ -178,7 +189,11 @@ export const PerformerCard: React.FC<IPerformerCardProps> = ({
className="movie-count"
type="movie"
count={performer.movie_count}
url={NavUtils.makePerformerMoviesUrl(performer, extraCriteria?.movies)}
url={NavUtils.makePerformerMoviesUrl(
performer,
extraCriteria?.performer,
extraCriteria?.movies
)}
/>
);
}