From 0d4ab7f6f3de92cd69ea0b8b38bd97f16af3d3ef Mon Sep 17 00:00:00 2001 From: InfiniteTF Date: Tue, 24 Aug 2021 03:23:25 +0200 Subject: [PATCH] Fix studio editing (#1668) --- .../Performers/PerformerDetails/PerformerEditPanel.tsx | 7 ++----- .../src/components/Scenes/SceneDetails/SceneEditPanel.tsx | 7 ++----- .../components/Studios/StudioDetails/StudioEditPanel.tsx | 3 ++- ui/v2.5/src/utils/index.ts | 1 + ui/v2.5/src/utils/stashIds.ts | 5 +++++ 5 files changed, 12 insertions(+), 11 deletions(-) create mode 100644 ui/v2.5/src/utils/stashIds.ts diff --git a/ui/v2.5/src/components/Performers/PerformerDetails/PerformerEditPanel.tsx b/ui/v2.5/src/components/Performers/PerformerDetails/PerformerEditPanel.tsx index 354143ff9..d62743307 100644 --- a/ui/v2.5/src/components/Performers/PerformerDetails/PerformerEditPanel.tsx +++ b/ui/v2.5/src/components/Performers/PerformerDetails/PerformerEditPanel.tsx @@ -30,7 +30,7 @@ import { Modal, TagSelect, } from "src/components/Shared"; -import { ImageUtils } from "src/utils"; +import { ImageUtils, getStashIDs } from "src/utils"; import { getCountryByISO } from "src/utils/country"; import { useToast } from "src/hooks"; import { Prompt, useHistory } from "react-router-dom"; @@ -380,10 +380,7 @@ export const PerformerEditPanel: React.FC = ({ variables: { input: { ...input, - stash_ids: performerInput?.stash_ids?.map((s) => ({ - endpoint: s.endpoint, - stash_id: s.stash_id, - })), + stash_ids: getStashIDs(performerInput?.stash_ids), }, }, }); diff --git a/ui/v2.5/src/components/Scenes/SceneDetails/SceneEditPanel.tsx b/ui/v2.5/src/components/Scenes/SceneDetails/SceneEditPanel.tsx index 0ffc16938..f38749729 100644 --- a/ui/v2.5/src/components/Scenes/SceneDetails/SceneEditPanel.tsx +++ b/ui/v2.5/src/components/Scenes/SceneDetails/SceneEditPanel.tsx @@ -30,7 +30,7 @@ import { ImageInput, } from "src/components/Shared"; import { useToast } from "src/hooks"; -import { ImageUtils, FormUtils, TextUtils } from "src/utils"; +import { ImageUtils, FormUtils, TextUtils, getStashIDs } from "src/utils"; import { MovieSelect } from "src/components/Shared/Select"; import { useFormik } from "formik"; import { Prompt } from "react-router"; @@ -110,10 +110,7 @@ export const SceneEditPanel: React.FC = ({ }), tag_ids: (scene.tags ?? []).map((t) => t.id), cover_image: undefined, - stash_ids: (scene.stash_ids ?? []).map((s) => ({ - stash_id: s.stash_id, - endpoint: s.endpoint, - })), + stash_ids: getStashIDs(scene.stash_ids), }; type InputValues = typeof initialValues; diff --git a/ui/v2.5/src/components/Studios/StudioDetails/StudioEditPanel.tsx b/ui/v2.5/src/components/Studios/StudioDetails/StudioEditPanel.tsx index e1222ac58..2304b2bcb 100644 --- a/ui/v2.5/src/components/Studios/StudioDetails/StudioEditPanel.tsx +++ b/ui/v2.5/src/components/Studios/StudioDetails/StudioEditPanel.tsx @@ -5,7 +5,7 @@ import * as yup from "yup"; import Mousetrap from "mousetrap"; import { Icon, StudioSelect, DetailsEditNavbar } from "src/components/Shared"; import { Button, Form, Col, Row } from "react-bootstrap"; -import { FormUtils, ImageUtils } from "src/utils"; +import { FormUtils, ImageUtils, getStashIDs } from "src/utils"; import { RatingStars } from "src/components/Scenes/SceneDetails/RatingStars"; import { useFormik } from "formik"; import { Prompt } from "react-router-dom"; @@ -74,6 +74,7 @@ export const StudioEditPanel: React.FC = ({ function getStudioInput(values: InputValues) { const input: Partial = { ...values, + stash_ids: getStashIDs(values.stash_ids), }; if (studio && studio.id) { diff --git a/ui/v2.5/src/utils/index.ts b/ui/v2.5/src/utils/index.ts index 102c092dd..d3d64f447 100644 --- a/ui/v2.5/src/utils/index.ts +++ b/ui/v2.5/src/utils/index.ts @@ -12,3 +12,4 @@ export { default as getISOCountry } from "./country"; export { default as useFocus } from "./focus"; export { default as downloadFile } from "./download"; export * from "./data"; +export { getStashIDs } from "./stashIds"; diff --git a/ui/v2.5/src/utils/stashIds.ts b/ui/v2.5/src/utils/stashIds.ts new file mode 100644 index 000000000..3240b2a0f --- /dev/null +++ b/ui/v2.5/src/utils/stashIds.ts @@ -0,0 +1,5 @@ +export const getStashIDs = (ids?: { stash_id: string; endpoint: string }[]) => + (ids ?? []).map(({ stash_id, endpoint }) => ({ + stash_id, + endpoint, + }));