diff --git a/ui/v2.5/src/components/Tagger/scenes/PerformerResult.tsx b/ui/v2.5/src/components/Tagger/scenes/PerformerResult.tsx index 25f0ca88f73..6b202be54c7 100755 --- a/ui/v2.5/src/components/Tagger/scenes/PerformerResult.tsx +++ b/ui/v2.5/src/components/Tagger/scenes/PerformerResult.tsx @@ -1,4 +1,4 @@ -import React, { useEffect, useState } from "react"; +import React, { useEffect, useMemo, useState } from "react"; import { Button, ButtonGroup } from "react-bootstrap"; import { FormattedMessage } from "react-intl"; @@ -13,24 +13,24 @@ import { } from "src/components/Performers/PerformerSelect"; import { getStashboxBase } from "src/utils/stashbox"; import { ExternalLink } from "src/components/Shared/ExternalLink"; +import { Link } from "react-router-dom"; -interface IPerformerName { +const PerformerLink: React.FC<{ performer: GQL.ScrapedPerformer | Performer; - id: string | undefined | null; - baseURL: string | undefined; -} - -const PerformerName: React.FC = ({ - performer, - id, - baseURL, -}) => { - const name = - baseURL && id ? ( - {performer.name} + url: string | undefined; + internal?: boolean; +}> = ({ performer, url, internal = false }) => { + const name = useMemo(() => { + if (!url) return performer.name; + + return internal ? ( + + {performer.name} + ) : ( - performer.name + {performer.name} ); + }, [url, performer.name, internal]); return ( <> @@ -115,10 +115,9 @@ const PerformerResult: React.FC = ({
: -
@@ -134,10 +133,10 @@ const PerformerResult: React.FC = ({ : - @@ -169,10 +168,9 @@ const PerformerResult: React.FC = ({
: -
diff --git a/ui/v2.5/src/components/Tagger/scenes/StudioResult.tsx b/ui/v2.5/src/components/Tagger/scenes/StudioResult.tsx index 4d099d2a6e2..13ffe6bff82 100755 --- a/ui/v2.5/src/components/Tagger/scenes/StudioResult.tsx +++ b/ui/v2.5/src/components/Tagger/scenes/StudioResult.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import React, { useMemo } from "react"; import { Button, ButtonGroup } from "react-bootstrap"; import { FormattedMessage } from "react-intl"; import cx from "classnames"; @@ -12,20 +12,24 @@ import { OptionalField } from "../IncludeButton"; import { faSave } from "@fortawesome/free-solid-svg-icons"; import { getStashboxBase } from "src/utils/stashbox"; import { ExternalLink } from "src/components/Shared/ExternalLink"; +import { Link } from "react-router-dom"; -interface IStudioName { +const StudioLink: React.FC<{ studio: GQL.ScrapedStudio | GQL.SlimStudioDataFragment; - id: string | undefined | null; - baseURL: string | undefined; -} - -const StudioName: React.FC = ({ studio, id, baseURL }) => { - const name = - baseURL && id ? ( - {studio.name} + url: string | undefined; + internal?: boolean; +}> = ({ studio, url, internal = false }) => { + const name = useMemo(() => { + if (!url) return studio.name; + + return internal ? ( + + {studio.name} + ) : ( - studio.name + {studio.name} ); + }, [url, studio.name, internal]); return {name}; }; @@ -82,10 +86,9 @@ const StudioResult: React.FC = ({
: -
@@ -101,10 +104,10 @@ const StudioResult: React.FC = ({ : - @@ -136,10 +139,9 @@ const StudioResult: React.FC = ({
: -