From 19250dc929c82559df14893f4f71db0be63c38d9 Mon Sep 17 00:00:00 2001 From: Yu Sung Date: Mon, 24 Mar 2025 11:42:21 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B9=84=EB=B0=80=EB=B2=88=ED=98=B8=20?= =?UTF-8?q?=EC=9E=AC=EC=84=A4=EC=A0=95=20-=20=EC=9E=85=EB=A0=A5=EC=B0=BD?= =?UTF-8?q?=20UI=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Contents.json | 2 +- .../ic_headphones_blue.png | Bin 0 -> 1466 bytes .../ic_headphones_purple.png | Bin 1316 -> 0 bytes .../User/FindPassword/FindPasswordView.swift | 31 ++++++++++-------- SodaLive/Sources/User/Login/LoginView.swift | 3 +- 5 files changed, 20 insertions(+), 16 deletions(-) rename SodaLive/Resources/Assets.xcassets/{ic_headphones_purple.imageset => ic_headphones_blue.imageset}/Contents.json (85%) create mode 100644 SodaLive/Resources/Assets.xcassets/ic_headphones_blue.imageset/ic_headphones_blue.png delete mode 100644 SodaLive/Resources/Assets.xcassets/ic_headphones_purple.imageset/ic_headphones_purple.png diff --git a/SodaLive/Resources/Assets.xcassets/ic_headphones_purple.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/ic_headphones_blue.imageset/Contents.json similarity index 85% rename from SodaLive/Resources/Assets.xcassets/ic_headphones_purple.imageset/Contents.json rename to SodaLive/Resources/Assets.xcassets/ic_headphones_blue.imageset/Contents.json index 5f15106..98d32ae 100644 --- a/SodaLive/Resources/Assets.xcassets/ic_headphones_purple.imageset/Contents.json +++ b/SodaLive/Resources/Assets.xcassets/ic_headphones_blue.imageset/Contents.json @@ -9,7 +9,7 @@ "scale" : "2x" }, { - "filename" : "ic_headphones_purple.png", + "filename" : "ic_headphones_blue.png", "idiom" : "universal", "scale" : "3x" } diff --git a/SodaLive/Resources/Assets.xcassets/ic_headphones_blue.imageset/ic_headphones_blue.png b/SodaLive/Resources/Assets.xcassets/ic_headphones_blue.imageset/ic_headphones_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..2ee316484c90ae480d3f971517d9482a986724bb GIT binary patch literal 1466 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 프로필 설정에서\n비밀번호를 변경하고 이용하세요.") + Text("임시 비밀번호로 로그인 후\n마이페이지 > 프로필 설정에서\n비밀번호를 변경하고 이용하세요.") .font(.custom(Font.medium.rawValue, size: 12)) .foregroundColor(Color(hex: "909090")) .multilineTextAlignment(.center) @@ -36,38 +36,41 @@ struct FindPasswordView: View { .padding(.top, 40) .padding(.horizontal, 26.7) - UserTextField( - title: "이메일", - hint: "이메일 주소를 입력해 주세요", - isSecure: false, - variable: $viewModel.email, - keyboardType: .emailAddress - ) - .padding(.top, 40) - .padding(.horizontal, 26.7) + TextField("이메일을 입력하세요", text: $viewModel.email) + .autocapitalization(.none) + .disableAutocorrection(true) + .font(.custom(Font.medium.rawValue, size: 15)) + .foregroundColor(.grayee) + .keyboardType(.emailAddress) + .padding(.vertical, 18) + .padding(.horizontal, 13.3) + .frame(height: 56) + .background(RoundedRectangle(cornerRadius: 6.7).fill(Color.gray33.opacity(0.7))) + .padding(.top, 40) + .padding(.horizontal, 26.7) Text("임시 비밀번호 받기") .font(.custom(Font.bold.rawValue, size: 18.3)) .foregroundColor(Color.white) .frame(maxWidth: proxy.size.width - 26.7) .padding(.vertical, 16) - .background(Color(hex: "9970ff")) + .background(Color.button) .cornerRadius(6.7) .padding(.top, 60) .onTapGesture { viewModel.findPassword() } HStack(spacing: 13.3) { - Image("ic_headphones_purple") + Image("ic_headphones_blue") Text("고객센터로 문의하기") .font(.custom(Font.medium.rawValue, size: 13.3)) - .foregroundColor(Color(hex: "9970ff")) + .foregroundColor(.button) } .padding(.vertical, 10.7) .padding(.horizontal, 18.7) .overlay( RoundedRectangle(cornerRadius: 8) - .stroke(Color(hex: "9970ff"), lineWidth: 1) + .stroke(Color.button, lineWidth: 1) ) .padding(.top, 93) .onTapGesture { diff --git a/SodaLive/Sources/User/Login/LoginView.swift b/SodaLive/Sources/User/Login/LoginView.swift index bdf230a..db954ac 100644 --- a/SodaLive/Sources/User/Login/LoginView.swift +++ b/SodaLive/Sources/User/Login/LoginView.swift @@ -26,6 +26,7 @@ struct LoginView: View { .disableAutocorrection(true) .font(.custom(Font.medium.rawValue, size: 15)) .foregroundColor(.grayee) + .keyboardType(.emailAddress) .padding(.vertical, 18) .padding(.horizontal, 13.3) .frame(height: 56) @@ -58,7 +59,7 @@ struct LoginView: View { .frame(height: 56) .background(RoundedRectangle(cornerRadius: 6.7).fill(Color.gray33.opacity(0.7))) .padding(.horizontal, 13.3) - .padding(.top, 33.3) + .padding(.top, 16) Button(action: { viewModel.login() }) { Text("로그인")