diff --git a/ui/v2.5/src/components/Changelog/versions/v0110.md b/ui/v2.5/src/components/Changelog/versions/v0110.md index 14998a469..80a3ea4c5 100644 --- a/ui/v2.5/src/components/Changelog/versions/v0110.md +++ b/ui/v2.5/src/components/Changelog/versions/v0110.md @@ -15,6 +15,7 @@ * Optimised scanning process. ([#1816](https://github.com/stashapp/stash/pull/1816)) ### 🐛 Bug fixes +* Fix creating missing entities removing the incorrect entry from the missing list in the scrape dialog. ([#1890](https://github.com/stashapp/stash/pull/1890)) * Allow creating missing Studio during movie scrape. ([#1899](https://github.com/stashapp/stash/pull/1899)) * Fix image files in folder galleries not being deleting when delete file option is checked. ([#1872](https://github.com/stashapp/stash/pull/1872)) * Fix marker generation task reading video files unnecessarily. ([#1871](https://github.com/stashapp/stash/pull/1871)) diff --git a/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryScrapeDialog.tsx b/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryScrapeDialog.tsx index 2e34fc7af..a0b82a67d 100644 --- a/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryScrapeDialog.tsx +++ b/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryScrapeDialog.tsx @@ -60,7 +60,9 @@ function renderScrapedStudioRow( } onChange={onChange} newValues={newStudio ? [newStudio] : undefined} - onCreateNew={onCreateNew} + onCreateNew={() => { + if (onCreateNew && newStudio) onCreateNew(newStudio); + }} /> ); } @@ -112,7 +114,9 @@ function renderScrapedPerformersRow( } onChange={onChange} newValues={performersCopy} - onCreateNew={onCreateNew} + onCreateNew={(i) => { + if (onCreateNew) onCreateNew(newPerformers[i]); + }} /> ); } @@ -159,7 +163,9 @@ function renderScrapedTagsRow( } newValues={newTags} onChange={onChange} - onCreateNew={onCreateNew} + onCreateNew={(i) => { + if (onCreateNew) onCreateNew(newTags[i]); + }} /> ); } diff --git a/ui/v2.5/src/components/Movies/MovieDetails/MovieScrapeDialog.tsx b/ui/v2.5/src/components/Movies/MovieDetails/MovieScrapeDialog.tsx index a34c90d68..bf6ded203 100644 --- a/ui/v2.5/src/components/Movies/MovieDetails/MovieScrapeDialog.tsx +++ b/ui/v2.5/src/components/Movies/MovieDetails/MovieScrapeDialog.tsx @@ -54,7 +54,11 @@ function renderScrapedStudioRow( } onChange={onChange} newValues={newStudio ? [newStudio] : undefined} - onCreateNew={onCreateNew} + onCreateNew={() => { + if (onCreateNew && newStudio) { + onCreateNew(newStudio); + } + }} /> ); } diff --git a/ui/v2.5/src/components/Performers/PerformerDetails/PerformerScrapeDialog.tsx b/ui/v2.5/src/components/Performers/PerformerDetails/PerformerScrapeDialog.tsx index d337fc5c7..9225cb976 100644 --- a/ui/v2.5/src/components/Performers/PerformerDetails/PerformerScrapeDialog.tsx +++ b/ui/v2.5/src/components/Performers/PerformerDetails/PerformerScrapeDialog.tsx @@ -112,7 +112,9 @@ function renderScrapedTagsRow( } newValues={newTags} onChange={onChange} - onCreateNew={onCreateNew} + onCreateNew={(i) => { + if (onCreateNew) onCreateNew(newTags[i]); + }} /> ); } diff --git a/ui/v2.5/src/components/Scenes/SceneDetails/SceneScrapeDialog.tsx b/ui/v2.5/src/components/Scenes/SceneDetails/SceneScrapeDialog.tsx index 430758f71..3248beccc 100644 --- a/ui/v2.5/src/components/Scenes/SceneDetails/SceneScrapeDialog.tsx +++ b/ui/v2.5/src/components/Scenes/SceneDetails/SceneScrapeDialog.tsx @@ -63,7 +63,9 @@ function renderScrapedStudioRow( } onChange={onChange} newValues={newStudio ? [newStudio] : undefined} - onCreateNew={onCreateNew} + onCreateNew={() => { + if (onCreateNew && newStudio) onCreateNew(newStudio); + }} /> ); } @@ -115,7 +117,9 @@ function renderScrapedPerformersRow( } onChange={onChange} newValues={performersCopy} - onCreateNew={onCreateNew} + onCreateNew={(i) => { + if (onCreateNew) onCreateNew(newPerformers[i]); + }} /> ); } @@ -167,7 +171,9 @@ function renderScrapedMoviesRow( } onChange={onChange} newValues={moviesCopy} - onCreateNew={onCreateNew} + onCreateNew={(i) => { + if (onCreateNew) onCreateNew(newMovies[i]); + }} /> ); } @@ -214,7 +220,9 @@ function renderScrapedTagsRow( } newValues={newTags} onChange={onChange} - onCreateNew={onCreateNew} + onCreateNew={(i) => { + if (onCreateNew) onCreateNew(newTags[i]); + }} /> ); } diff --git a/ui/v2.5/src/components/Shared/ScrapeDialog.tsx b/ui/v2.5/src/components/Shared/ScrapeDialog.tsx index 44d3ca65a..ecaa3bf00 100644 --- a/ui/v2.5/src/components/Shared/ScrapeDialog.tsx +++ b/ui/v2.5/src/components/Shared/ScrapeDialog.tsx @@ -50,7 +50,7 @@ export class ScrapeResult { } interface IHasName { - name: string; + name: string | undefined; } interface IScrapedFieldProps { @@ -64,7 +64,7 @@ interface IScrapedRowProps renderNewField: (result: ScrapeResult) => JSX.Element | undefined; onChange: (value: ScrapeResult) => void; newValues?: V[]; - onCreateNew?: (newValue: V) => void; + onCreateNew?: (index: number) => void; } function renderButtonIcon(selected: boolean) { @@ -102,12 +102,12 @@ export const ScrapeDialogRow = ( const ret = ( <> - {props.newValues!.map((t) => ( + {props.newValues!.map((t, i) => ( props.onCreateNew!(t)} + onClick={() => props.onCreateNew!(i)} > {t.name}