Skip to content

Commit 399a5ff

Browse files
committed
refact: 자동 하이픈 함수를 공통 유틸리티 함수로 추출
1 parent 638a19c commit 399a5ff

File tree

4 files changed

+9
-21
lines changed

4 files changed

+9
-21
lines changed

src/pages/dashboard/ui/EventInfoPage.tsx

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,14 @@ import { AddressSearch } from '../../../shared/ui/AddressSearch';
1111
import KakaoMap from '../../../shared/ui/KakaoMap';
1212
import { UpdateEventRequest } from '../../../features/dashboard/model/event';
1313
import { useEventDetail } from '../../../entities/event/hook/useEventHook';
14+
import { formatPhoneNumber } from '../../../shared/utils/phoneFormatter';
1415

1516
const EventInfoPage = () => {
1617
const queryClient = useQueryClient();
1718
const [selectedOption, setSelectedOption] = useState('');
1819
const { data } = useEventDetail();
1920
const { mutate } = useUpdateEventHook();
2021

21-
const formatPhoneNumber = (value: string) => {
22-
const numbers = value.replace(/[^\d]/g, '').slice(0, 11); // 11자리까지만 허용
23-
if (numbers.length <= 3) return numbers;
24-
if (numbers.length <= 7) return `${numbers.slice(0, 3)}-${numbers.slice(3)}`;
25-
return `${numbers.slice(0, 3)}-${numbers.slice(3, 7)}-${numbers.slice(7, 11)}`;
26-
};
27-
2822
const handleSelect = (option: string) => {
2923
setSelectedOption(option);
3024
};

src/pages/event/ui/create-event/EventOrganizerInfoPage.tsx

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { useForm } from 'react-hook-form';
33
import UnderlineTextField from '../../../../../design-system/ui/textFields/UnderlineTextField';
44
import { useFunnelState } from '../../../../features/event/model/FunnelContext';
55
import { OrganizerFormData, organizerZodValidation } from '../../../../shared/lib/formValidation';
6+
import { formatPhoneNumber } from '../../../../shared/utils/phoneFormatter';
67

78
interface EventOrganizerInfoPageProps {
89
onValidationChange?: (isValid: boolean) => void;
@@ -11,13 +12,6 @@ interface EventOrganizerInfoPageProps {
1112
const EventOrganizerInfoPage = ({ onValidationChange }: EventOrganizerInfoPageProps) => {
1213
const { eventState, setEventState } = useFunnelState();
1314

14-
const formatPhoneNumber = (value: string) => {
15-
const numbers = value.replace(/[^\d]/g, '').slice(0, 11); // 11자리까지만 허용
16-
if (numbers.length <= 3) return numbers;
17-
if (numbers.length <= 7) return `${numbers.slice(0, 3)}-${numbers.slice(3)}`;
18-
return `${numbers.slice(0, 3)}-${numbers.slice(3, 7)}-${numbers.slice(7, 11)}`;
19-
};
20-
2115
const {
2216
register,
2317
setValue,

src/pages/join/InfoInputPage.tsx

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,7 @@ import UnderlineTextField from '../../../design-system/ui/textFields/UnderlineTe
77
import { FormData, zodValidation } from '../../shared/lib/formValidation';
88
import { useUserInfo, useUserUpdate } from '../../features/join/hooks/useUserHook';
99
import useAuthStore from '../../app/provider/authStore';
10-
11-
const formatPhoneNumber = (value: string) => {
12-
const numbers = value.replace(/[^\d]/g, '').slice(0, 11); // 11자리까지만 허용
13-
if (numbers.length <= 3) return numbers;
14-
if (numbers.length <= 7) return `${numbers.slice(0, 3)}-${numbers.slice(3)}`;
15-
return `${numbers.slice(0, 3)}-${numbers.slice(3, 7)}-${numbers.slice(7, 11)}`;
16-
};
10+
import { formatPhoneNumber } from '../../shared/utils/phoneFormatter';
1711

1812
const InfoInputPage = () => {
1913
const { data, isLoading } = useUserInfo();

src/shared/utils/phoneFormatter.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
export const formatPhoneNumber = (value: string) => {
2+
const numbers = value.replace(/[^\d]/g, '').slice(0, 11); // 11자리까지만 허용
3+
if (numbers.length <= 3) return numbers;
4+
if (numbers.length <= 7) return `${numbers.slice(0, 3)}-${numbers.slice(3)}`;
5+
return `${numbers.slice(0, 3)}-${numbers.slice(3, 7)}-${numbers.slice(7, 11)}`;
6+
};

0 commit comments

Comments
 (0)