From 641be9e6f7de6259485a2f2a22a9e993d016c897 Mon Sep 17 00:00:00 2001 From: kim-seonwoo Date: Fri, 8 Nov 2024 15:25:53 +0900 Subject: [PATCH] =?UTF-8?q?[Refactor/#91]=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20?= =?UTF-8?q?=EB=B7=B0=20=EA=B4=80=EB=A0=A8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LoginFeature/Sources/LoginView.swift | 14 +++++----- .../Sources/Views/LoginButton.swift | 27 ++++--------------- .../Sources/Views/SwipeView.swift | 10 +++---- 3 files changed, 16 insertions(+), 35 deletions(-) diff --git a/HMH_Tuist_iOS/Projects/Features/LoginFeature/Sources/LoginView.swift b/HMH_Tuist_iOS/Projects/Features/LoginFeature/Sources/LoginView.swift index ea6245b4..a9f393ca 100644 --- a/HMH_Tuist_iOS/Projects/Features/LoginFeature/Sources/LoginView.swift +++ b/HMH_Tuist_iOS/Projects/Features/LoginFeature/Sources/LoginView.swift @@ -6,14 +6,14 @@ // import SwiftUI -import AuthenticationServices import DSKit +import Domain public struct LoginView: View { @ObservedObject var viewModel: LoginViewModel - public init(viewModel: LoginViewModel) { + init(viewModel: LoginViewModel) { self.viewModel = viewModel } @@ -23,15 +23,13 @@ public struct LoginView: View { .ignoresSafeArea() VStack(spacing: 10) { //TODO: 이미지 타입 문제거 같은데 지금 해결하기엔 싱싱미역 -// SwipeView(imageNames: [.onboardingFirst, .onboardingSecond, .onboardingThird]) -// .padding(.bottom, 75) - LoginButton(loginProvider: .kakao, viewModel: viewModel) - LoginButton(loginProvider: .apple, viewModel: viewModel) + SwipeView(swipeImages: [DSKitAsset.onboardingFirst.swiftUIImage, DSKitAsset.onboardingSecond.swiftUIImage, DSKitAsset.onboardingThird.swiftUIImage]) + .padding(.bottom, 75) + LoginButton(loginProvider: OAuthProviderType.kakao, viewModel: viewModel) + LoginButton(loginProvider: OAuthProviderType.apple, viewModel: viewModel) } } .frame(maxHeight: .infinity) .padding(.vertical, 22) } } - - diff --git a/HMH_Tuist_iOS/Projects/Features/LoginFeature/Sources/Views/LoginButton.swift b/HMH_Tuist_iOS/Projects/Features/LoginFeature/Sources/Views/LoginButton.swift index 1765749d..ed2abae7 100644 --- a/HMH_Tuist_iOS/Projects/Features/LoginFeature/Sources/Views/LoginButton.swift +++ b/HMH_Tuist_iOS/Projects/Features/LoginFeature/Sources/Views/LoginButton.swift @@ -6,42 +6,25 @@ // import SwiftUI -import AuthenticationServices import DSKit - -enum SignInProvider { - case apple - case kakao - - var signInLogoImage: String { - switch self { - case .apple: - return "appleLogo" - case .kakao: - return "kakaoLogo" - } - } -} +import Domain struct LoginButton: View { - let loginProvider: SignInProvider + var loginProvider: OAuthProviderType = .apple @ObservedObject var viewModel: LoginViewModel + var signInLogoImage = DSKitAsset.appleLogo.swiftUIImage var body: some View { Button(action: { - if loginProvider == .apple { - viewModel.handleAppleLogin() - } else if loginProvider == .kakao { - viewModel.handleKakaoLogin() - } + viewModel.handleLoginButton(provider: loginProvider) }) { RoundedRectangle(cornerRadius: 6.3) .frame(width:336, height: 51) .foregroundColor(loginProvider == .apple ? DSKitAsset.whiteBtn.swiftUIColor : DSKitAsset.yelloBtn.swiftUIColor) .overlay( HStack { - Image(loginProvider.signInLogoImage) + Image(uiImage: loginProvider == .apple ? DSKitAsset.appleLogo.image : DSKitAsset.kakaoLogo.image) .resizable() .frame(width: 24, height: 24) .padding(.leading, 14) diff --git a/HMH_Tuist_iOS/Projects/Features/LoginFeature/Sources/Views/SwipeView.swift b/HMH_Tuist_iOS/Projects/Features/LoginFeature/Sources/Views/SwipeView.swift index 8e4f56c6..38d7fa15 100644 --- a/HMH_Tuist_iOS/Projects/Features/LoginFeature/Sources/Views/SwipeView.swift +++ b/HMH_Tuist_iOS/Projects/Features/LoginFeature/Sources/Views/SwipeView.swift @@ -10,7 +10,7 @@ import SwiftUI import DSKit struct SwipeView: View { - var imageNames: [ImageResource] + var swipeImages: [Image] private let timer = Timer.publish(every: 3.0, on: .main, in: .common).autoconnect() @State private var selectedImageIndex: Int = 0 @@ -18,8 +18,8 @@ struct SwipeView: View { var body: some View { VStack { TabView(selection: $selectedImageIndex) { - ForEach(0..