Skip to content
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

Feat [#19] Login view 구현 #22

Merged
merged 11 commits into from
May 7, 2024
Merged

Feat [#19] Login view 구현 #22

merged 11 commits into from
May 7, 2024

Conversation

kim-seonwoo
Copy link
Member

@kim-seonwoo kim-seonwoo commented May 6, 2024

👾 작업 내용

  • 로그인 뷰의 화면을 구현하였습니다. 로그인 뷰의 구조는 다음과 같습니다.
            SwipeView(imageNames: [.onboardingFirst, .onboardingFirst, .onboardingThird])
            Spacer()
            LoginButton(loginProvider: .kakao, viewModel: viewModel)
            LoginButton(loginProvider: .apple, viewModel: viewModel)
  • Timer를 이용한 오토 스크롤로 SwipeView를 구현하였습니다.
private let timer = Timer.publish(every: 3.0, on: .main, in: .common).autoconnect()
  • 커스텀 로그인 버튼을 구현하였습니다.
    var signInLogoImage: String {
        switch self {
        case .apple:
            return "appleLogo"
        case .kakao:
            return "kakaoLogo"
        }
    }
  • apple, kakao를 enum으로 받아 다른 UI로 처리하였습니다.

  • 카카오, 애플 로그인의 환경 설정을 완료하였습니다.

  • 앱에서 필요한 idToken값과 이름을 비롯한 정보를 받아오는 것 까지 성공하였습니다.

  • 이 값을 처리하는 로직은 네트워크 구현시 같이 구현하면 좋을 것 같습니다.

  • config 파일을 추가하여 민감한 정보를 처리하였습니다. gitignore 파일에도 config 정보를 추가하여 숨겼습니다.

🚀 PR Point

  • 카카오 로그인 이름을 받아오는 권한 설정 로직은 미구현 상태입니다!

📸 스크린샷

구현 내용 스크린샷
화면종류 스크린샷, 2024-05-06 오후 6 56 58

✅ CheckList

  • 오류 없이 빌드되는지 확인
  • 로그용 print문 제거
  • 불필요한 주석 제거
  • 코드 컨벤션 확인

🔗 Issue

Resolved #19

@kim-seonwoo kim-seonwoo added 😎선우 선우의 issue ✨FEAT 기능 구현 🎨STYLE 커스텀 뷰 짜기 ⚙️SET 세팅할 시 labels May 6, 2024
@kim-seonwoo kim-seonwoo added this to the 🔭2차 스프린트🪐 milestone May 6, 2024
@kim-seonwoo kim-seonwoo requested a review from Zoe0929 May 6, 2024 09:58
@kim-seonwoo kim-seonwoo self-assigned this May 6, 2024
@kim-seonwoo kim-seonwoo linked an issue May 6, 2024 that may be closed by this pull request
Copy link
Member

@Zoe0929 Zoe0929 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

깔끔한 구현 감사합니다 굳굳굳굳 너무 빠른 속도.

@@ -1,6 +1,8 @@
# Created by https://www.toptal.com/developers/gitignore/api/macos,swift,swiftpackagemanager
# Edit at https://www.toptal.com/developers/gitignore?templates=macos,swift,swiftpackagemanager

*.xcconfig
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😮 이게 안들어가있었다니 충격.

@@ -73,5 +83,5 @@
}
}
],
"version" : 2
"version" : 3
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SPM 사용하면서 패키지 버전 관리 잘해야 할 것 같아요! 주의주의
이건 다 같이 업데이트합시당

@@ -6,11 +6,18 @@
//

import SwiftUI
import KakaoSDKCommon
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💊 외부 SDK는 한줄 띄어 써주세요!

}
if let oauthToken = oauthToken{
if let idToken = oauthToken.idToken {
print("🍀 idToken: \(idToken)")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💊 idToken을 print하는 건 디버깅용인 것 같아요! 기능 구현 이후 삭제해주시면 좋을 것 같습니다~

if (UserApi.isKakaoTalkLoginAvailable()) {
UserApi.shared.loginWithKakaoTalk {(oauthToken, error) in
if let error = error {
print("🍀",error)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💬 카카오톡 로그인 에러 발생 시, 사용자에게 알려줄 UI(토스트메시지 등)을 추가해 주면 좋을 것 같아서 디자이너와 논의하면 좋을 것 같아요!

@kim-seonwoo kim-seonwoo merged commit fed75f4 into develop May 7, 2024
@Zoe0929 Zoe0929 deleted the feat/#19-LoginView branch June 19, 2024 02:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨FEAT 기능 구현 ⚙️SET 세팅할 시 🎨STYLE 커스텀 뷰 짜기 😎선우 선우의 issue
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

[Feat] Login 화면 UI 구현
2 participants