diff --git a/frontend/src/pages/performers/performerForm/PerformerForm.tsx b/frontend/src/pages/performers/performerForm/PerformerForm.tsx index 4992a599b..96bea4674 100644 --- a/frontend/src/pages/performers/performerForm/PerformerForm.tsx +++ b/frontend/src/pages/performers/performerForm/PerformerForm.tsx @@ -177,8 +177,8 @@ const PerformerForm: FC = ({ const changedName = !!performer.id && - fieldData.name !== undefined && - performer.name !== fieldData.name; + newChanges.name !== null && + performer.name.trim() !== newChanges.name; useEffect(() => { setUpdateAliases(changedName); @@ -189,7 +189,7 @@ const PerformerForm: FC = ({ fieldData.gender !== GenderEnum.TRANSGENDER_MALE; // Update breast type based on gender useEffect(() => { - if (!showBreastType) setValue("boobJob", BreastTypeEnum.NA); + if (!showBreastType) setValue("breastType", BreastTypeEnum.NA); }, [showBreastType, setValue]); const enumOptions = (enums: OptionEnum[]) => @@ -218,7 +218,7 @@ const PerformerForm: FC = ({ piercings: data.piercings ?? [], tattoos: data.tattoos ?? [], breast_type: - BreastTypeEnum[data.boobJob as keyof typeof BreastTypeEnum] || null, + BreastTypeEnum[data.breastType as keyof typeof BreastTypeEnum] || null, image_ids: data.images.map((i) => i.id), urls: data.urls.map((u) => ({ url: u.url, @@ -438,21 +438,21 @@ const PerformerForm: FC = ({ {fieldData.gender !== "MALE" && fieldData.gender !== "TRANSGENDER_MALE" && ( - + Breast type {enumOptions(BREAST)} - {errors?.boobJob?.message} + {errors?.breastType?.message} )} diff --git a/frontend/src/pages/performers/performerForm/diff.ts b/frontend/src/pages/performers/performerForm/diff.ts index df0a3cc6f..6b901fbfa 100644 --- a/frontend/src/pages/performers/performerForm/diff.ts +++ b/frontend/src/pages/performers/performerForm/diff.ts @@ -88,7 +88,7 @@ const selectPerformerDetails = ( cup_size: diffValue(original.measurements.cup_size, newCupSize), waist_size: diffValue(original.measurements.waist, data.waistSize), hip_size: diffValue(original.measurements.hip, data.hipSize), - breast_type: diffValue(original.breast_type, breastType(data.boobJob)), + breast_type: diffValue(original.breast_type, breastType(data.breastType)), country: diffValue(original.country, data.country), ethnicity: diffValue(original.ethnicity, ethnicityEnum(data.ethnicity)), eye_color: diffValue(original.eye_color, data.eye_color), @@ -116,7 +116,7 @@ const selectPerformerDetails = ( cup_size: diffValue(newCupSize, original.measurements.cup_size), waist_size: diffValue(data.waistSize, original.measurements.waist), hip_size: diffValue(data.hipSize, original.measurements.hip), - breast_type: diffValue(breastType(data.boobJob), original.breast_type), + breast_type: diffValue(breastType(data.breastType), original.breast_type), country: diffValue(data.country, original.country), ethnicity: diffValue(ethnicityEnum(data.ethnicity), original.ethnicity), eye_color: diffValue(data.eye_color, original.eye_color), diff --git a/frontend/src/pages/performers/performerForm/schema.ts b/frontend/src/pages/performers/performerForm/schema.ts index 7c58784cd..9bdd14ceb 100644 --- a/frontend/src/pages/performers/performerForm/schema.ts +++ b/frontend/src/pages/performers/performerForm/schema.ts @@ -15,7 +15,7 @@ const zeroCheck = (input: number | null) => export const PerformerSchema = yup.object({ id: yup.string(), - name: yup.string().required("Name is required"), + name: yup.string().trim().required("Name is required"), gender: yup .string() .transform(nullCheck) @@ -64,7 +64,7 @@ export const PerformerSchema = yup.object({ .max(50, "Invalid waist size") .nullable(), hipSize: yup.number().transform(zeroCheck).nullable(), - boobJob: yup + breastType: yup .string() .transform(nullCheck) .nullable() diff --git a/frontend/src/pages/scenes/sceneForm/schema.ts b/frontend/src/pages/scenes/sceneForm/schema.ts index ea2006afe..e718e8033 100644 --- a/frontend/src/pages/scenes/sceneForm/schema.ts +++ b/frontend/src/pages/scenes/sceneForm/schema.ts @@ -5,7 +5,7 @@ const nullCheck = (input: string | null) => input === "" || input === "null" ? null : input; export const SceneSchema = yup.object({ - title: yup.string().required("Title is required"), + title: yup.string().trim().required("Title is required"), details: yup.string().trim(), date: yup .string() diff --git a/frontend/src/pages/studios/studioForm/schema.ts b/frontend/src/pages/studios/studioForm/schema.ts index b05b61bda..0adbcc334 100644 --- a/frontend/src/pages/studios/studioForm/schema.ts +++ b/frontend/src/pages/studios/studioForm/schema.ts @@ -1,7 +1,7 @@ import * as yup from "yup"; export const StudioSchema = yup.object({ - name: yup.string().required("Name is required"), + name: yup.string().trim().required("Name is required"), urls: yup .array() .of( diff --git a/frontend/src/pages/tags/tagForm/TagForm.tsx b/frontend/src/pages/tags/tagForm/TagForm.tsx index 63d663251..76cde87ad 100644 --- a/frontend/src/pages/tags/tagForm/TagForm.tsx +++ b/frontend/src/pages/tags/tagForm/TagForm.tsx @@ -18,9 +18,9 @@ import { createHref, tagHref } from "src/utils"; import { ROUTE_TAGS } from "src/constants/route"; const schema = yup.object({ - name: yup.string().required("Name is required"), - description: yup.string(), - aliases: yup.array().of(yup.string().required()), + name: yup.string().trim().required("Name is required"), + description: yup.string().trim(), + aliases: yup.array().of(yup.string().trim().required()), categoryId: yup.string().nullable().defined(), note: yup.string().required("Edit note is required"), }); diff --git a/frontend/src/utils/transforms.ts b/frontend/src/utils/transforms.ts index 16b375996..3412d302b 100644 --- a/frontend/src/utils/transforms.ts +++ b/frontend/src/utils/transforms.ts @@ -18,10 +18,9 @@ export const formatMeasurements = (val?: Measurements): string | undefined => { }; export const getBraSize = (measurements: Measurements): string | undefined => - (measurements.cup_size && - measurements.cup_size && - `${measurements.band_size}${measurements.cup_size}`) ?? - undefined; + measurements.band_size && measurements.cup_size + ? `${measurements.band_size}${measurements.cup_size}` + : undefined; export const sortImageURLs = ( urls: ImageFragment[], diff --git a/pkg/models/model_edit.go b/pkg/models/model_edit.go index 8d5f00d6d..3aa654bbc 100644 --- a/pkg/models/model_edit.go +++ b/pkg/models/model_edit.go @@ -3,6 +3,7 @@ package models import ( "bytes" "encoding/json" + "strings" "time" "github.com/gofrs/uuid" @@ -168,7 +169,13 @@ func (e *Edit) IsDestructive() bool { // When renaming a performer and not updating the performance aliases if (e.Operation == OperationEnumModify.String() || e.Operation == OperationEnumMerge.String()) && e.TargetType == TargetTypeEnumPerformer.String() { data, _ := e.GetPerformerData() - return data.New.Name != nil && !data.SetModifyAliases + if data.New.Name != nil { + oldName := "" + if data.Old.Name != nil { + oldName = strings.TrimSpace(*data.Old.Name) + } + return oldName != *data.New.Name && !data.SetModifyAliases + } } return false } diff --git a/pkg/sqlx/querybuilder_performer.go b/pkg/sqlx/querybuilder_performer.go index e10da5440..8a601c113 100644 --- a/pkg/sqlx/querybuilder_performer.go +++ b/pkg/sqlx/querybuilder_performer.go @@ -280,7 +280,7 @@ func (qb *performerQueryBuilder) buildQuery(performerFilter *models.PerformerFil handleStringCriterion("eye_color", performerFilter.EyeColor, &query) handleStringCriterion("height", performerFilter.Height, &query) handleStringCriterion("measurements", performerFilter.Measurements, &query) - handleStringCriterion("fake_tits", performerFilter.FakeTits, &query) + handleStringCriterion("breast_type", performerFilter.BreastType, &query) handleStringCriterion("career_length", performerFilter.CareerLength, &query) handleStringCriterion("tattoos", performerFilter.Tattoos, &query) handleStringCriterion("piercings", performerFilter.Piercings, &query)