Skip to content

Commit b62874a

Browse files
authored
[#106]modify-contact 및 build error 수정 (#107)
1 parent 64f54ce commit b62874a

3 files changed

Lines changed: 36 additions & 27 deletions

File tree

src/app/employees/add/page.tsx

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,28 @@ export default function AddEmployeePage() {
4949
resetRegisterSuccess
5050
} = useEmployeeStore();
5151

52+
// 전화번호 포맷팅 함수
53+
const formatPhoneNumber = (value: string) => {
54+
const numbers = value.replace(/[^\d]/g, '');
55+
if (numbers.length <= 3) return numbers;
56+
if (numbers.length <= 7) return `${numbers.slice(0, 3)}-${numbers.slice(3)}`;
57+
return `${numbers.slice(0, 3)}-${numbers.slice(3, 7)}-${numbers.slice(7, 11)}`;
58+
};
59+
5260
// 입력 필드 변경 처리
5361
const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {
5462
const { name, value } = e.target;
55-
setFormData((prev) => ({
56-
...prev,
57-
[name]: value
58-
}));
63+
if (name === 'phone') {
64+
setFormData((prev) => ({
65+
...prev,
66+
[name]: formatPhoneNumber(value)
67+
}));
68+
} else {
69+
setFormData((prev) => ({
70+
...prev,
71+
[name]: value
72+
}));
73+
}
5974
};
6075

6176
// 뒤로가기 처리
@@ -228,8 +243,9 @@ export default function AddEmployeePage() {
228243
name="phone"
229244
value={formData.phone}
230245
onChange={handleInputChange}
246+
maxLength={13}
231247
className={`w-full rounded-lg border ${currentTheme.border} ${currentTheme.inputBg} ${currentTheme.text} px-4 py-2.5 focus:ring-2 focus:ring-blue-500 focus:border-blue-500`}
232-
placeholder="직원의 연락처를 입력하세요"
248+
placeholder="010-1234-5678"
233249
disabled={isRegistering}
234250
/>
235251
</div>

src/app/profile/page.tsx

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,19 @@ export default function ProfilePage() {
8989
// 사용자 정보 핸들러
9090
const handleUserInfoChange = (e: React.ChangeEvent<HTMLInputElement>) => {
9191
const { name, value } = e.target;
92-
setUserInfo(prev => ({ ...prev, [name]: value }));
92+
if (name === 'phone') {
93+
const numbers = value.replace(/[^\d]/g, '');
94+
let formattedPhone = numbers;
95+
if (numbers.length > 3) {
96+
formattedPhone = `${numbers.slice(0, 3)}-${numbers.slice(3)}`;
97+
}
98+
if (numbers.length > 7) {
99+
formattedPhone = `${numbers.slice(0, 3)}-${numbers.slice(3, 7)}-${numbers.slice(7, 11)}`;
100+
}
101+
setUserInfo(prev => ({ ...prev, [name]: formattedPhone }));
102+
} else {
103+
setUserInfo(prev => ({ ...prev, [name]: value }));
104+
}
93105
setChangedFields(prev => ({ ...prev, [name]: true }));
94106
};
95107

@@ -393,9 +405,11 @@ export default function ProfilePage() {
393405
value={userInfo.phone}
394406
onChange={handleUserInfoChange}
395407
disabled={!isEditing}
408+
maxLength={13}
396409
className={`w-full py-2 pl-10 pr-3 rounded-lg ${
397410
!isEditing ? 'bg-transparent' : currentTheme.inputBg
398411
} ${currentTheme.text} border ${currentTheme.border} focus:ring-blue-500 focus:border-blue-500`}
412+
placeholder="010-1234-5678"
399413
/>
400414
</div>
401415
</div>

src/components/layout/SimpleLayout.tsx

Lines changed: 0 additions & 21 deletions
This file was deleted.

0 commit comments

Comments
 (0)