From c3a7d30a33c7ac6941b9cac088e7652f8e8b038d Mon Sep 17 00:00:00 2001 From: WithoutPants <53250216+WithoutPants@users.noreply.github.com> Date: Fri, 9 Oct 2020 11:43:54 +1100 Subject: [PATCH] Convert scraped movie create data (#832) --- ui/v2.5/src/components/Changelog/versions/v040.md | 1 + .../Scenes/SceneDetails/SceneScrapeDialog.tsx | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/ui/v2.5/src/components/Changelog/versions/v040.md b/ui/v2.5/src/components/Changelog/versions/v040.md index 1908b125b..5afb87820 100644 --- a/ui/v2.5/src/components/Changelog/versions/v040.md +++ b/ui/v2.5/src/components/Changelog/versions/v040.md @@ -11,6 +11,7 @@ * Re-show preview thumbnail when mousing away from scene card. ### 🐛 Bug fixes +* Fix error when creating movie from scene scrape dialog. * Fix incorrect date timezone. * Fix search filters not persisting for studios, markers and galleries. * Fix pending thumbnail on wall items on mobile platforms. diff --git a/ui/v2.5/src/components/Scenes/SceneDetails/SceneScrapeDialog.tsx b/ui/v2.5/src/components/Scenes/SceneDetails/SceneScrapeDialog.tsx index 699fd8689..1c42f261c 100644 --- a/ui/v2.5/src/components/Scenes/SceneDetails/SceneScrapeDialog.tsx +++ b/ui/v2.5/src/components/Scenes/SceneDetails/SceneScrapeDialog.tsx @@ -18,6 +18,7 @@ import { useTagCreate, } from "src/core/StashService"; import { useToast } from "src/hooks"; +import { DurationUtils } from "src/utils"; function renderScrapedStudio( result: ScrapeResult, @@ -395,6 +396,20 @@ export const SceneScrapeDialog: React.FC = ( let movieInput: GQL.MovieCreateInput = { name: "" }; try { movieInput = Object.assign(movieInput, toCreate); + + // #788 - convert duration and rating to the correct type + movieInput.duration = DurationUtils.stringToSeconds( + toCreate.duration ?? undefined + ); + if (!movieInput.duration) { + movieInput.duration = undefined; + } + + movieInput.rating = parseInt(toCreate.rating ?? "0", 10); + if (!movieInput.rating || Number.isNaN(movieInput.rating)) { + movieInput.rating = undefined; + } + const result = await createMovie({ variables: movieInput, });