mirror of
https://github.com/stashapp/stash.git
synced 2025-12-18 12:54:38 +03:00
* Changed Most Active Studios to Latest Studios * dynamically create view all link and created message for view all * created shared determineSlidesToScroll method * removed added code in Shared/index.ts * renamed getSlickSettings to getSlickSliderSettings * Updated row headers to follow plex naming convention * removed extra s in Sceness * updated row header css to better align header text with view all anchor
38 lines
1.2 KiB
TypeScript
38 lines
1.2 KiB
TypeScript
import React, { FunctionComponent } from "react";
|
|
import { FindPerformersQueryResult } from "src/core/generated-graphql";
|
|
import Slider from "react-slick";
|
|
import { PerformerCard } from "./PerformerCard";
|
|
import { ListFilterModel } from "src/models/list-filter/filter";
|
|
import { getSlickSliderSettings } from "src/core/recommendations";
|
|
|
|
interface IProps {
|
|
isTouch: boolean;
|
|
filter: ListFilterModel;
|
|
result: FindPerformersQueryResult;
|
|
header: String;
|
|
linkText: String;
|
|
}
|
|
|
|
export const PerformerRecommendationRow: FunctionComponent<IProps> = (
|
|
props: IProps
|
|
) => {
|
|
const cardCount = props.result.data?.findPerformers.count;
|
|
return (
|
|
<div className="recommendation-row performer-recommendations">
|
|
<div className="recommendation-row-head">
|
|
<div>
|
|
<h2>{props.header}</h2>
|
|
</div>
|
|
<a href={`/performers?${props.filter.makeQueryParameters()}`}>
|
|
{props.linkText}
|
|
</a>
|
|
</div>
|
|
<Slider {...getSlickSliderSettings(cardCount!, props.isTouch)}>
|
|
{props.result.data?.findPerformers.performers.map((p) => (
|
|
<PerformerCard key={p.id} performer={p} />
|
|
))}
|
|
</Slider>
|
|
</div>
|
|
);
|
|
};
|