mirror of
https://github.com/stashapp/stash.git
synced 2026-05-09 05:05:29 +02:00
Breakout default gender handling in Module.
- Introduced a new utility function `withScrapedPerformerDefaultGender` to streamline the assignment of default gender when scraping performer data. - Replaced inline gender handling logic with the new utility function in both scraping results for new and existing performers, improving code readability and maintainability. This change enhances the clarity of gender assignment logic during performer data scraping.
This commit is contained in:
parent
18eedfc724
commit
01eda04b6f
1 changed files with 16 additions and 15 deletions
|
|
@ -58,6 +58,15 @@ const isScraper = (
|
|||
scraper: GQL.Scraper | GQL.StashBox
|
||||
): scraper is GQL.Scraper => (scraper as GQL.Scraper).id !== undefined;
|
||||
|
||||
function withScrapedPerformerDefaultGender<
|
||||
T extends { gender?: GQL.GenderEnum | null },
|
||||
>(scraped: T, defaultGender: GQL.GenderEnum | null | undefined): T {
|
||||
if (scraped.gender || !defaultGender) {
|
||||
return scraped;
|
||||
}
|
||||
return { ...scraped, gender: defaultGender };
|
||||
}
|
||||
|
||||
interface IPerformerDetails {
|
||||
performer: Partial<GQL.PerformerDataFragment>;
|
||||
isVisible: boolean;
|
||||
|
|
@ -426,14 +435,9 @@ export const PerformerEditPanel: React.FC<IPerformerDetails> = ({
|
|||
|
||||
const result = await queryScrapePerformer(selectedScraper.id, ret);
|
||||
if (!result?.data?.scrapeSinglePerformer?.length) return;
|
||||
const withDefaultGender = (
|
||||
scrapedPerformerData: GQL.ScrapedPerformerDataFragment
|
||||
) =>
|
||||
!scrapedPerformerData.gender && defaultPerformerGender
|
||||
? { ...scrapedPerformerData, gender: defaultPerformerGender }
|
||||
: scrapedPerformerData;
|
||||
const scrapedResult = withDefaultGender(
|
||||
result.data.scrapeSinglePerformer[0]
|
||||
const scrapedResult = withScrapedPerformerDefaultGender(
|
||||
result.data.scrapeSinglePerformer[0],
|
||||
defaultPerformerGender
|
||||
);
|
||||
|
||||
// assume one result
|
||||
|
|
@ -460,13 +464,10 @@ export const PerformerEditPanel: React.FC<IPerformerDetails> = ({
|
|||
return;
|
||||
}
|
||||
|
||||
const scrapedResult =
|
||||
!result.data.scrapePerformerURL.gender && defaultPerformerGender
|
||||
? {
|
||||
...result.data.scrapePerformerURL,
|
||||
gender: defaultPerformerGender,
|
||||
}
|
||||
: result.data.scrapePerformerURL;
|
||||
const scrapedResult = withScrapedPerformerDefaultGender(
|
||||
result.data.scrapePerformerURL,
|
||||
defaultPerformerGender
|
||||
);
|
||||
|
||||
// if this is a new performer, just dump the data
|
||||
if (isNew) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue