Skip to content

Commit

Permalink
fix: allow blank value in age and height input
Browse files Browse the repository at this point in the history
  • Loading branch information
ooooorobo committed Dec 23, 2024
1 parent 5e13342 commit bc5398b
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 12 deletions.
8 changes: 4 additions & 4 deletions src/entities/ideal_partner/model/idealPartnerStore.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,11 @@ export type IdealPartner = {

type Action = {
toggleAge: (on: boolean) => void;
setMinAge: (value: number) => void;
setMaxAge: (value: number) => void;
setMinAge: (value?: number) => void;
setMaxAge: (value?: number) => void;
toggleHeight: (on: boolean) => void;
setMinHeight: (value: number) => void;
setMaxHeight: (value: number) => void;
setMinHeight: (value?: number) => void;
setMaxHeight: (value?: number) => void;
setStyle: (value: string) => void;
setImages: (getState: (prevFiles: File[]) => File[]) => void;
setImageDtoList: (getState: (prevFiles: ImageDto[]) => ImageDto[]) => void;
Expand Down
14 changes: 10 additions & 4 deletions src/processes/ideal_partner/AgeForm/AgeForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,19 @@ export const AgeForm = () => {
const setMax = useIdealPartnerStore((state) => state.setMaxAge);

const onChangeMin = (e: ChangeEvent<HTMLInputElement>) => {
if (!isNaN(Number(e.target.value))) {
const value = Number(e.target.value);
if (value <= 0 || isNaN(value)) {
setMin(undefined);
} else {
setMin(Number(e.target.value));
}
};

const onChangeMax = (e: ChangeEvent<HTMLInputElement>) => {
if (!isNaN(Number(e.target.value))) {
const value = Number(e.target.value);
if (value <= 0 || isNaN(value)) {
setMax(undefined);
} else {
setMax(Number(e.target.value));
}
};
Expand All @@ -42,15 +48,15 @@ export const AgeForm = () => {
<Input
placeholder={'최소 나이'}
suffixSlot={<span></span>}
value={min}
value={min ?? ''}
onChange={onChangeMin}
inputMode={'numeric'}
/>
<span>-</span>
<Input
placeholder={'최대 나이'}
suffixSlot={<span></span>}
value={max}
value={max ?? ''}
onChange={onChangeMax}
inputMode={'numeric'}
/>
Expand Down
16 changes: 12 additions & 4 deletions src/processes/ideal_partner/HeightStyleForm/HeightStyleForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,19 @@ export const HeightStyleForm = () => {

const onChangeMin = (e: ChangeEvent<HTMLInputElement>) => {
const value = Number(e.target.value);
if (!isNaN(value)) setMin(value);
if (value <= 0 || isNaN(value)) {
setMin(undefined);
} else {
setMin(value);
}
};
const onChangeMax = (e: ChangeEvent<HTMLInputElement>) => {
const value = Number(e.target.value);
if (!isNaN(value)) setMax(value);
if (value <= 0 || isNaN(value)) {
setMax(undefined);
} else {
setMax(value);
}
};

const onCheckDisable = () => {
Expand Down Expand Up @@ -61,15 +69,15 @@ export const HeightStyleForm = () => {
<Input
placeholder={'최소 키 입력'}
suffixSlot={<span>cm</span>}
value={min}
value={min ?? ''}
onChange={onChangeMin}
inputMode={'numeric'}
/>
<span>-</span>
<Input
placeholder={'최대 키 입력'}
suffixSlot={<span>cm</span>}
value={max}
value={max ?? ''}
onChange={onChangeMax}
inputMode={'numeric'}
/>
Expand Down

0 comments on commit bc5398b

Please sign in to comment.