diff --git a/ui/v2.5/src/components/Tagger/scenes/TaggerScene.tsx b/ui/v2.5/src/components/Tagger/scenes/TaggerScene.tsx index a7156318f..db36bf404 100644 --- a/ui/v2.5/src/components/Tagger/scenes/TaggerScene.tsx +++ b/ui/v2.5/src/components/Tagger/scenes/TaggerScene.tsx @@ -7,6 +7,7 @@ import { FormattedMessage } from "react-intl"; import { sortPerformers } from "src/core/performers"; import { Icon } from "src/components/Shared/Icon"; import { OperationButton } from "src/components/Shared/OperationButton"; +import { StashIDPill } from "src/components/Shared/StashID"; import { PerformerLink, TagLink } from "src/components/Shared/TagLink"; import { TruncatedText } from "src/components/Shared/TruncatedText"; import { parsePath, prepareQueryString } from "src/components/Tagger/utils"; @@ -18,7 +19,6 @@ import { faImage, } from "@fortawesome/free-solid-svg-icons"; import { objectPath, objectTitle } from "src/core/files"; -import { ExternalLink } from "src/components/Shared/ExternalLink"; import { ConfigurationContext } from "src/hooks/Config"; import { SceneQueue } from "src/models/sceneQueue"; @@ -85,6 +85,27 @@ const TaggerSceneDetails: React.FC = ({ scene }) => { ); }; +type StashID = Pick; + +const StashIDs: React.FC<{ stashIDs: StashID[] }> = ({ stashIDs }) => { + if (!stashIDs.length) { + return null; + } + + const stashLinks = stashIDs.map((stashID) => { + const base = stashID.endpoint.match(/https?:\/\/.*?\//)?.[0]; + const link = base ? ( + + ) : ( + {stashID.stash_id} + ); + + return
{link}
; + }); + + return
{stashLinks}
; +}; + interface ITaggerScene { scene: GQL.SlimSceneDataFragment; url: string; @@ -181,28 +202,6 @@ export const TaggerScene: React.FC> = ({ ); } - function maybeRenderStashLinks() { - if (scene.stash_ids.length > 0) { - const stashLinks = scene.stash_ids.map((stashID) => { - const base = stashID.endpoint.match(/https?:\/\/.*?\//)?.[0]; - const link = base ? ( - - {stashID.stash_id} - - ) : ( -
{stashID.stash_id}
- ); - - return link; - }); - return
{stashLinks}
; - } - } - function onSpriteClick(ev: React.MouseEvent) { ev.preventDefault(); showLightboxImage(scene.paths.sprite ?? ""); @@ -276,7 +275,7 @@ export const TaggerScene: React.FC> = ({ {errorMessage ? (
{errorMessage}
) : undefined} - {maybeRenderStashLinks()} +