Skip to content

Commit 75873a5

Browse files
committed
[#338] VC에서 처리하던 UI 로직을 View로 이동
1 parent d3514f3 commit 75873a5

File tree

2 files changed

+47
-32
lines changed

2 files changed

+47
-32
lines changed

EATSSU/App/Sources/Presentation/Auth/View/SetNickNameView.swift

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,48 @@ final class SetNickNameView: BaseUIView {
244244
}
245245
}
246246

247+
func updateValidationUI(
248+
for newNickname: String,
249+
originalNickname: String?
250+
) {
251+
if newNickname.isEmpty {
252+
nicknameValidationMessageLabel.text = NicknameTextFieldResultType.textFieldEmpty.hintMessage
253+
nicknameValidationMessageLabel.textColor = NicknameTextFieldResultType.textFieldEmpty.textColor
254+
inputNickNameTextField.layer.borderWidth = 1.0
255+
inputNickNameTextField.layer.borderColor = NicknameTextFieldResultType.textFieldEmpty.textColor.cgColor
256+
nicknameDoubleCheckButton.isEnabled = false
257+
258+
} else if !(2...8).contains(newNickname.count) {
259+
nicknameValidationMessageLabel.text = NicknameTextFieldResultType.nicknameTextFieldOver.hintMessage
260+
nicknameValidationMessageLabel.textColor = NicknameTextFieldResultType.nicknameTextFieldOver.textColor
261+
inputNickNameTextField.layer.borderWidth = 1.0
262+
inputNickNameTextField.layer.borderColor = NicknameTextFieldResultType.nicknameTextFieldOver.textColor.cgColor
263+
nicknameDoubleCheckButton.isEnabled = false
264+
265+
} else if newNickname != originalNickname {
266+
nicknameValidationMessageLabel.text = NicknameTextFieldResultType.nicknameTextFieldDoubleCheck.hintMessage
267+
nicknameValidationMessageLabel.textColor = NicknameTextFieldResultType.nicknameTextFieldDoubleCheck.textColor
268+
inputNickNameTextField.layer.borderWidth = 1.0
269+
inputNickNameTextField.layer.borderColor = NicknameTextFieldResultType.nicknameTextFieldDoubleCheck.textColor.cgColor
270+
nicknameDoubleCheckButton.isEnabled = true
271+
272+
} else {
273+
nicknameValidationMessageLabel.text = ""
274+
inputNickNameTextField.layer.borderWidth = 1.0
275+
inputNickNameTextField.layer.borderColor = EATSSUDesignAsset.Color.GrayScale.gray300.color.cgColor
276+
nicknameDoubleCheckButton.isEnabled = false
277+
}
278+
}
279+
280+
func updateCheckResultUI(isAvailable: Bool) {
281+
let resultType: NicknameTextFieldResultType = isAvailable ? .nicknameTextFieldValid : .nicknameTextFieldDuplicated
282+
283+
nicknameValidationMessageLabel.text = resultType.hintMessage
284+
nicknameValidationMessageLabel.textColor = resultType.textColor
285+
inputNickNameTextField.layer.borderWidth = 1.0
286+
inputNickNameTextField.layer.borderColor = resultType.textColor.cgColor
287+
}
288+
247289
public func updateCollegeItems(_ items: [String]) {
248290
collegeDropDownView.updateItems(items)
249291
}

EATSSU/App/Sources/Presentation/Auth/ViewController/SetNickNameViewController.swift

Lines changed: 5 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -180,30 +180,10 @@ final class SetNickNameViewController: BaseViewController {
180180
self.isNicknameChecked = false
181181
}
182182

183-
if newNickname.isEmpty {
184-
setNickNameView.nicknameValidationMessageLabel.text = NicknameTextFieldResultType.textFieldEmpty.hintMessage
185-
setNickNameView.nicknameValidationMessageLabel.textColor = NicknameTextFieldResultType.textFieldEmpty.textColor
186-
setNickNameView.inputNickNameTextField.layer.borderWidth = 1.0
187-
setNickNameView.inputNickNameTextField.layer.borderColor = NicknameTextFieldResultType.textFieldEmpty.textColor.cgColor
188-
setNickNameView.nicknameDoubleCheckButton.isEnabled = false
189-
} else if !(2...8).contains(newNickname.count) {
190-
setNickNameView.nicknameValidationMessageLabel.text = NicknameTextFieldResultType.nicknameTextFieldOver.hintMessage
191-
setNickNameView.nicknameValidationMessageLabel.textColor = NicknameTextFieldResultType.nicknameTextFieldOver.textColor
192-
setNickNameView.inputNickNameTextField.layer.borderWidth = 1.0
193-
setNickNameView.inputNickNameTextField.layer.borderColor = NicknameTextFieldResultType.nicknameTextFieldOver.textColor.cgColor
194-
setNickNameView.nicknameDoubleCheckButton.isEnabled = false
195-
} else if isNicknameChanged {
196-
setNickNameView.nicknameValidationMessageLabel.text = NicknameTextFieldResultType.nicknameTextFieldDoubleCheck.hintMessage
197-
setNickNameView.nicknameValidationMessageLabel.textColor = NicknameTextFieldResultType.nicknameTextFieldDoubleCheck.textColor
198-
setNickNameView.inputNickNameTextField.layer.borderWidth = 1.0
199-
setNickNameView.inputNickNameTextField.layer.borderColor = NicknameTextFieldResultType.nicknameTextFieldDoubleCheck.textColor.cgColor
200-
setNickNameView.nicknameDoubleCheckButton.isEnabled = true
201-
} else {
202-
setNickNameView.nicknameValidationMessageLabel.text = ""
203-
setNickNameView.inputNickNameTextField.layer.borderWidth = 1.0
204-
setNickNameView.inputNickNameTextField.layer.borderColor = EATSSUDesignAsset.Color.GrayScale.gray300.color.cgColor
205-
setNickNameView.nicknameDoubleCheckButton.isEnabled = false
206-
}
183+
setNickNameView.updateValidationUI(
184+
for: newNickname,
185+
originalNickname: originalNickname
186+
)
207187

208188
updateSaveButtonState()
209189
}
@@ -309,15 +289,8 @@ extension SetNickNameViewController {
309289

310290
switch result {
311291
case .success(let isNicknameAvailable):
312-
let resultType: NicknameTextFieldResultType = isNicknameAvailable ? .nicknameTextFieldValid : .nicknameTextFieldDuplicated
313-
314292
self.isNicknameChecked = isNicknameAvailable
315-
self.setNickNameView.nicknameValidationMessageLabel.text = resultType.hintMessage
316-
self.setNickNameView.nicknameValidationMessageLabel.textColor = resultType.textColor
317-
318-
self.setNickNameView.inputNickNameTextField.layer.borderWidth = 1.0
319-
self.setNickNameView.inputNickNameTextField.layer.borderColor = resultType.textColor.cgColor
320-
293+
self.setNickNameView.updateCheckResultUI(isAvailable: isNicknameAvailable)
321294
self.setNickNameView.setNicknameChecked(isNicknameAvailable)
322295
self.updateSaveButtonState()
323296

0 commit comments

Comments
 (0)