-
Notifications
You must be signed in to change notification settings - Fork 0
design: 로그인, 설정, 회원가입 UI 구현 및 수정 #559
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -28,7 +28,9 @@ final class FindPhoneIdViewController: UIViewController { | |
| $0.text = certType == .phone ? "휴대전화 번호" : "이메일" | ||
| } | ||
|
|
||
| private lazy var phoneNumberTextField = DefaultTextField(placeholder: certType == .phone ? "- 없이 번호를 입력해 주세요." : "등록된 이메일을 입력해 주세요.", placeholderColor: UIColor.appColor(.neutral400), font: UIFont.appFont(.pretendardRegular, size: 14)) | ||
| private lazy var phoneNumberTextField = DefaultTextField(placeholder: certType == .phone ? "- 없이 번호를 입력해 주세요." : "등록된 이메일을 입력해 주세요.", placeholderColor: UIColor.appColor(.neutral400), font: UIFont.appFont(.pretendardRegular, size: 14)).then { | ||
| $0.keyboardType = .numberPad | ||
| } | ||
|
|
||
| private let sendButton = StateButton().then { | ||
| $0.setState(state: .unusable) | ||
|
|
@@ -41,7 +43,7 @@ final class FindPhoneIdViewController: UIViewController { | |
|
|
||
| private let changeButton = UIButton().then { | ||
| $0.setTitle("이메일로 찾기", for: .normal) | ||
| $0.setTitleColor(UIColor.appColor(.primary500), for: .normal) | ||
| $0.setTitleColor(UIColor.appColor(.new500), for: .normal) | ||
| $0.titleLabel?.font = UIFont.appFont(.pretendardMedium, size: 12) | ||
| } | ||
|
|
||
|
|
@@ -73,6 +75,8 @@ final class FindPhoneIdViewController: UIViewController { | |
| private let saveButton = StateButton(font: UIFont.appFont(.pretendardMedium, size: 16)).then { | ||
| $0.setState(state: .unusable) | ||
| $0.setTitle("저장", for: .normal) | ||
| }.then { | ||
| $0.layer.cornerRadius = 8 | ||
| } | ||
|
|
||
| init(viewModel: FindIdViewModel, certType: CertType = .phone) { | ||
|
|
@@ -172,6 +176,10 @@ extension FindPhoneIdViewController { | |
| } | ||
| } | ||
| @objc private func sendButtonTapped() { | ||
| [helpLabel, changeButton].forEach { | ||
| $0.isHidden = true | ||
| } | ||
|
Comment on lines
+179
to
+181
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win 실패 응답에서 이메일 찾기 전환을 보존하세요. 전화번호 흐름에서 🤖 Prompt for AI Agents |
||
|
|
||
| if certType == .phone { | ||
| viewModel.sendVerificationCode(phoneNumber: phoneNumberTextField.text ?? "") | ||
| } else { | ||
|
|
@@ -242,15 +250,15 @@ extension FindPhoneIdViewController { | |
| phoneStateView.snp.makeConstraints { | ||
| $0.top.equalTo(phoneNumberTextField.snp.bottom).offset(5) | ||
| $0.leading.equalTo(phoneNumberTextField) | ||
| $0.height.equalTo(19) | ||
| } | ||
| helpLabel.snp.makeConstraints { | ||
| $0.top.equalTo(phoneStateView.snp.bottom).offset(5) | ||
| $0.top.equalTo(phoneNumberTextField.snp.bottom).offset(5) | ||
| $0.leading.equalTo(phoneNumberLabel) | ||
| $0.height.equalTo(19) | ||
| } | ||
| changeButton.snp.makeConstraints { | ||
| $0.leading.equalTo(helpLabel.snp.trailing).offset(5) | ||
| $0.top.bottom.equalTo(helpLabel) | ||
| $0.centerY.equalTo(helpLabel) | ||
| $0.width.equalTo(66) | ||
| $0.height.equalTo(19) | ||
| } | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -25,19 +25,19 @@ final class FindPasswordCertViewController: UIViewController { | |
|
|
||
| private let stepTextLabel = UILabel().then { | ||
| $0.text = "1. 계정 인증" | ||
| $0.textColor = UIColor.appColor(.primary500) | ||
| $0.textColor = UIColor.appColor(.new500) | ||
| $0.font = UIFont.appFont(.pretendardMedium, size: 16) | ||
| } | ||
|
|
||
| private let stepLabel = UILabel().then { | ||
| $0.text = "1 / 2" | ||
| $0.textColor = UIColor.appColor(.primary500) | ||
| $0.textColor = UIColor.appColor(.new500) | ||
| $0.font = UIFont.appFont(.pretendardMedium, size: 16) | ||
| } | ||
|
|
||
| private let progressView = UIProgressView().then { | ||
| $0.trackTintColor = UIColor.appColor(.neutral200) | ||
| $0.progressTintColor = UIColor.appColor(.primary500) | ||
| $0.progressTintColor = UIColor.appColor(.new500) | ||
| $0.layer.cornerRadius = 4 | ||
| $0.clipsToBounds = true | ||
| $0.progress = 0.5 | ||
|
|
@@ -195,6 +195,9 @@ extension FindPasswordCertViewController { | |
| } | ||
| } | ||
| @objc private func sendButtonTapped() { | ||
| [helpLabel, changeButton].forEach { | ||
| $0.isHidden = true | ||
| } | ||
|
Comment on lines
+198
to
+200
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win Keep the alternate recovery path visible until verification succeeds.
Hide the controls only after success, or restore them when the request fails. 🤖 Prompt for AI Agents |
||
| switch certType { | ||
| case .phone: viewModel.sendVerificationCode() | ||
| case .email: viewModel.sendVerificationEmail() | ||
|
|
@@ -283,7 +286,7 @@ extension FindPasswordCertViewController { | |
| $0.height.equalTo(32) | ||
| } | ||
| helpLabel.snp.makeConstraints { | ||
| $0.top.equalTo(phoneTextField.snp.bottom).offset(3) | ||
| $0.top.equalTo(phoneTextField.snp.bottom).offset(8) | ||
| $0.leading.equalTo(phoneTextField) | ||
| } | ||
| changeButton.snp.makeConstraints { | ||
|
|
@@ -293,7 +296,7 @@ extension FindPasswordCertViewController { | |
| $0.height.equalTo(19) | ||
| } | ||
| phoneStateView.snp.makeConstraints { | ||
| $0.top.equalTo(helpLabel.snp.bottom).offset(4) | ||
| $0.top.equalTo(phoneTextField.snp.bottom).offset(8) | ||
| $0.leading.equalTo(stepTextLabel) | ||
| $0.height.equalTo(19) | ||
| } | ||
|
|
@@ -336,7 +339,7 @@ extension FindPasswordCertViewController { | |
| helpLabel.font = UIFont.appFont(.pretendardRegular, size: 12) | ||
| helpLabel.textColor = UIColor.appColor(.neutral500) | ||
| changeButton.titleLabel?.font = UIFont.appFont(.pretendardRegular, size: 12) | ||
| changeButton.setTitleColor(UIColor.appColor(.primary500), for: .normal) | ||
| changeButton.setTitleColor(UIColor.appColor(.new500), for: .normal) | ||
| } | ||
| private func setUpTextFieldUnderline() { | ||
| [idtextField, phoneTextField, certNumberTextField].forEach { | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
certType에 따라keyboardType을 설정하세요.FindPhoneIdViewController는.email로 생성될 수 있으며, 이 경우phoneNumberTextField에 항상.numberPad가 설정되어 이메일 입력에 필요한 영문 키를 제공하지 않습니다.certType == .phone이면.numberPad, 그 외에는.emailAddress를 사용하세요.Proposed fix
📝 Committable suggestion
🤖 Prompt for AI Agents