From 914d51a10d6315cf2ca40d5fa7d0de5a5e026748 Mon Sep 17 00:00:00 2001 From: FreeDeveloper97 Date: Thu, 19 Oct 2023 22:01:26 +0900 Subject: [PATCH] =?UTF-8?q?feat=20#111:=20SignupEmailView=20=ED=98=84?= =?UTF-8?q?=EC=A7=80=ED=99=94=20=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Project_Timer.xcodeproj/project.pbxproj | 10 +++++--- .../LoginSignup/Signup/SignupEmailRoute.swift | 4 +++ .../LoginSignup/Signup/SignupEmailView.swift | 25 +++++++++++++------ .../Signup/SignupTextFieldView.swift | 2 +- Project_Timer/en.lproj/Localizable.strings | 9 +++++++ Project_Timer/ko.lproj/Localizable.strings | 9 +++++++ 6 files changed, 47 insertions(+), 12 deletions(-) diff --git a/Project_Timer.xcodeproj/project.pbxproj b/Project_Timer.xcodeproj/project.pbxproj index c70ecb3f..158af6ca 100644 --- a/Project_Timer.xcodeproj/project.pbxproj +++ b/Project_Timer.xcodeproj/project.pbxproj @@ -42,6 +42,7 @@ 870055C128EE966100F8BCA9 /* SettingRecordCellInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 870055C028EE966100F8BCA9 /* SettingRecordCellInfo.swift */; }; 870055C328EE974600F8BCA9 /* SettingRecordVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 870055C228EE974600F8BCA9 /* SettingRecordVM.swift */; }; 8701B0BF2A41AA0F00201CB2 /* Language.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87D1250028771AAD00018658 /* Language.swift */; }; + 87024B102AE154630095CCB4 /* SignupEmailRoute.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87024B0F2AE154630095CCB4 /* SignupEmailRoute.swift */; }; 87035DF2282201A500055378 /* TimerVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87035DF1282201A500055378 /* TimerVM.swift */; }; 87035DF7282225C800055378 /* Protocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87035DF6282225C800055378 /* Protocols.swift */; }; 870474F628F148C700CC03A8 /* SettingColorVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 870474F528F148C700CC03A8 /* SettingColorVC.swift */; }; @@ -348,6 +349,7 @@ 870055BE28EE958F00F8BCA9 /* SettingRecordCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingRecordCell.swift; sourceTree = ""; }; 870055C028EE966100F8BCA9 /* SettingRecordCellInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingRecordCellInfo.swift; sourceTree = ""; }; 870055C228EE974600F8BCA9 /* SettingRecordVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingRecordVM.swift; sourceTree = ""; }; + 87024B0F2AE154630095CCB4 /* SignupEmailRoute.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignupEmailRoute.swift; sourceTree = ""; }; 87035DF1282201A500055378 /* TimerVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimerVM.swift; sourceTree = ""; }; 87035DF6282225C800055378 /* Protocols.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Protocols.swift; sourceTree = ""; }; 870474F528F148C700CC03A8 /* SettingColorVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingColorVC.swift; sourceTree = ""; }; @@ -1407,6 +1409,7 @@ 87E5C70B2AE0266200BE46B0 /* Signup */ = { isa = PBXGroup; children = ( + 87024B0F2AE154630095CCB4 /* SignupEmailRoute.swift */, 87E5C70C2AE0268C00BE46B0 /* SignupEmailView.swift */, 87E5C70E2AE0C0E500BE46B0 /* SignupTextFieldView.swift */, 87B7A5392AC0219B002AFDFE /* SignupNicknameView.swift */, @@ -1899,6 +1902,7 @@ 879D207F2A19D40400D8A420 /* Updateable.swift in Sources */, 87AE748429062ACA00FA0A60 /* TimeSelectorPopupVC.swift in Sources */, 875C98BE287172A5008F7ADD /* StringValue.swift in Sources */, + 87024B102AE154630095CCB4 /* SignupEmailRoute.swift in Sources */, 04573A992877FD78008F8D44 /* CountdownTimeLabelView.swift in Sources */, 87BEBEED281C282D0095CD29 /* Times.swift in Sources */, 879BE3222AC40444007AAC46 /* SignupLoginVM.swift in Sources */, @@ -2080,7 +2084,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = Project_Timer/Project_Timer.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 2; + CURRENT_PROJECT_VERSION = 3; DEVELOPMENT_TEAM = 2C96RNDN63; "ENABLE_HARDENED_RUNTIME[sdk=macosx*]" = YES; INFOPLIST_FILE = Project_Timer/Info.plist; @@ -2319,7 +2323,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = Project_Timer/Project_Timer.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 2; + CURRENT_PROJECT_VERSION = 3; DEVELOPMENT_TEAM = 2C96RNDN63; "ENABLE_HARDENED_RUNTIME[sdk=macosx*]" = YES; INFOPLIST_FILE = Project_Timer/Info.plist; @@ -2346,7 +2350,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = Project_Timer/Project_Timer.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 2; + CURRENT_PROJECT_VERSION = 3; DEVELOPMENT_TEAM = 2C96RNDN63; "ENABLE_HARDENED_RUNTIME[sdk=macosx*]" = YES; INFOPLIST_FILE = Project_Timer/Info.plist; diff --git a/Project_Timer/LoginSignup/Signup/SignupEmailRoute.swift b/Project_Timer/LoginSignup/Signup/SignupEmailRoute.swift index 3fc6777f..ee8dc965 100644 --- a/Project_Timer/LoginSignup/Signup/SignupEmailRoute.swift +++ b/Project_Timer/LoginSignup/Signup/SignupEmailRoute.swift @@ -7,3 +7,7 @@ // import Foundation + +enum SignupEmailRoute { + case signupPassword +} diff --git a/Project_Timer/LoginSignup/Signup/SignupEmailView.swift b/Project_Timer/LoginSignup/Signup/SignupEmailView.swift index 358d8476..c6184652 100644 --- a/Project_Timer/LoginSignup/Signup/SignupEmailView.swift +++ b/Project_Timer/LoginSignup/Signup/SignupEmailView.swift @@ -30,6 +30,12 @@ struct SignupEmailView: View { .onChange(of: geometry.size, perform: { value in self.superViewSize = value }) + .navigationDestination(for: SignupEmailRoute.self) { destination in + switch destination { + case .signupPassword: + Text("Signup Password") + } + } } .onTapGesture { hideKeyboard() @@ -56,9 +62,9 @@ struct SignupEmailView: View { .frame(height: 29) VStack(alignment: .leading, spacing: 16) { - Text("이메일을 입력해 주세요") + Text("Enter your email address") .font(TiTiFont.HGGGothicssiP80g(size: 22)) - Text("인증받기 위한 이메일을 입력해 주세요") + Text("Please enter your email address for verification") .font(TiTiFont.HGGGothicssiP60g(size: 14)) .foregroundStyle(UIColor.secondaryLabel.toColor) } @@ -85,7 +91,7 @@ struct SignupEmailView: View { Spacer() .frame(height: 2) - Text("잘못된 형식입니다. 올바른 형식으로 입력해 주세요") + Text("The format is incorrect. Please enter in the correct format") .font(TiTiFont.HGGGothicssiP40g(size: 12)) .foregroundStyle(TiTiColor.wrongTextField.toColor) .opacity(wrongEmail == true ? 1.0 : 0) @@ -108,9 +114,10 @@ struct SignupEmailView: View { .font(TiTiFont.HGGGothicssiP40g(size: 18)) Button { - print("재전송") + // MARK: ViewModel 내에서 네트워킹이 필요한 부분 + print("resend") } label: { - Text("재전송") + Text("resend") .font(TiTiFont.HGGGothicssiP40g(size: 18)) } } @@ -125,14 +132,16 @@ struct SignupEmailView: View { Spacer() .frame(height: 2) - Text("인증코드가 올바르지 않습니다. 다시 입력해 주세요") + Text("The verification code is not valid. Please try again") .font(TiTiFont.HGGGothicssiP40g(size: 12)) .foregroundStyle(TiTiColor.wrongTextField.toColor) .opacity(wrongAuthCode == true ? 1.0 : 0) } } .onAppear { - focus = .email + if wrongAuthCode == nil { + focus = .email + } } .onChange(of: focus) { newValue in @@ -230,7 +239,7 @@ struct SignupEmailView: View { self.wrongAuthCode = !authCodeValid if authCodeValid { - print("next step") + environment.navigationPath.append(SignupEmailRoute.signupPassword) } else { focus = .authCode } diff --git a/Project_Timer/LoginSignup/Signup/SignupTextFieldView.swift b/Project_Timer/LoginSignup/Signup/SignupTextFieldView.swift index c98051c2..ef637be4 100644 --- a/Project_Timer/LoginSignup/Signup/SignupTextFieldView.swift +++ b/Project_Timer/LoginSignup/Signup/SignupTextFieldView.swift @@ -93,7 +93,7 @@ struct SignupTextFieldView: View { case .email: return "email".localized() case .authCode: - return "authCode".localized() + return "verification code".localized() case .password: return "new password".localized() case .password2: diff --git a/Project_Timer/en.lproj/Localizable.strings b/Project_Timer/en.lproj/Localizable.strings index 40f87711..b95eb8f4 100644 --- a/Project_Timer/en.lproj/Localizable.strings +++ b/Project_Timer/en.lproj/Localizable.strings @@ -335,6 +335,15 @@ "Find email" = "Find email"; "Find password" = "Find password"; +// SignupEmail +"verification code" = "verification code"; +"Enter your email address" = "Enter your email address"; +"Please enter your email address for verification" = "Please enter your email address for verification"; +"The format is incorrect. Please enter in the correct format" = "The format is incorrect. Please enter in the correct format"; +"The verification code is not valid. Please try again" = "The verification code is not valid. Please try again"; +"resend" = "resend"; +"Next" = "Next"; + // Network Alert Title "Network Error" = "Network Error"; "Network Timeout" = "Network Timeout"; diff --git a/Project_Timer/ko.lproj/Localizable.strings b/Project_Timer/ko.lproj/Localizable.strings index 3b7097f9..398e0c4a 100644 --- a/Project_Timer/ko.lproj/Localizable.strings +++ b/Project_Timer/ko.lproj/Localizable.strings @@ -339,6 +339,15 @@ "Find email" = "이메일 찾기"; "Find password" = "비밀번호 찾기"; +// SignupEmail +"verification code" = "인증코드"; +"Enter your email address" = "이메일을 입력해 주세요"; +"Please enter your email address for verification" = "인증받기 위한 이메일을 입력해 주세요"; +"The format is incorrect. Please enter in the correct format" = "잘못된 형식입니다. 올바른 형식으로 입력해 주세요"; +"The verification code is not valid. Please try again" = "인증코드가 올바르지 않습니다. 다시 입력해 주세요"; +"resend" = "재전송"; +"Next" = "다음"; + // Network Alert Title "Network Error" = "네트워크 오류"; "Network Timeout" = "네트워크 시간초과";