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

[TNT-206] TraineeMyPage, TraineeInvitationCodeInput 화면 팝업 작성 #50

Merged
merged 3 commits into from
Feb 4, 2025

Conversation

FpRaArNkK
Copy link
Contributor

@FpRaArNkK FpRaArNkK commented Feb 3, 2025

📌 What is the PR?

  • 트레이니 화면 중 네비게이션 연결에 필요한 팝업 화면을 모두 작성했습니다.
  • TraineeMyPage와 TraineeInvitationCodeInput 화면의 팝업 로직을 작성했습니다.

🪄 Changes

  • TraineeMyPage PopUp 작성
  • TraineeInvitationCodeInput PopUp 작성

🔥 PR Point

  1. 기존에 작성했던 TPopUp 코드를 실 화면에서 어떻게 사용할 지 청사진을 제공합니다.
    기존 PR에 작성되었던 PopUp 1개의 경우 문제가 없었으나, 화면에 표시될 PopUp이 n개인 경우 해당 데이터 값들을 모두 들고 있어야하며, 방향에 따라서는 View에서 모두 작성될수도 있다는 문제점이 발견되었습니다.
    TPopUpAlertState? 타입으로 한 번에 관리하는 것이 제일 좋겠으나.. 시간과 실력 이슈로 인해 현재 구조를 가져가며 최대한 Feature 내에서 해결해보고자 노력했습니다.
  • Feature에서 enum으로 PopUp 목록을 관리하며, 연산값으로 팝업 표시에 필요한 모든 내용을 반환합니다.
  • 팝업의 버튼 액션은 enum 연산값으로 가져가며, case의 연관값으로 해당 enum 케이스가 들어가게 됩니다.
    • 모든 팝업의 버튼 탭 케이스를 Action에 작성하지 않고, tapSecondaryButton(popUp), tapPrimaryButton(popUp) 두 개만으로 관리합니다. - 필요 시 switch를 활용하여 분기처리도 가능합니다
    • 이를 통해 Action from View -> Reducer의 Reduce 계산이 가능하게 됩니다

활용법은 파일을 참고하시면 됩니다.

📸 Screenshot

기능 스크린샷
GIF
GIF
GIF

🙆🏻 To Reviewers

  • 첫번째 팝업 후 두번째 팝업 시 버튼이 애니메이션 처리되며 표시되는데, 빠른 해결 방법 아신다면 부탁드림다..!

💭 Related Issues

@FpRaArNkK FpRaArNkK added the ✨Feat 새로운 기능 구현 (새로운 로직 추가, UI 구현 등) label Feb 3, 2025
@FpRaArNkK FpRaArNkK requested a review from syss220211 February 3, 2025 15:12
@FpRaArNkK FpRaArNkK self-assigned this Feb 3, 2025
Copy link
Member

@syss220211 syss220211 left a comment

Choose a reason for hiding this comment

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

제가 popup 컴포넌트 사용하면서 약간 .. 어려웠는데...요? 민서님이 적용하신거 보고 맞춰서 수정해 올리겠습니다. 네이밍도 맞춰 놓을게요! (그냥 Left, right으로 했어서.. 🫠)

Comment on lines +100 to +103
/// 팝업 좌측 secondary 버튼 탭
case tapPopUpSecondaryButton(popUp: PopUp?)
/// 팝업 우측 primary 버튼 탭
case tapPopUpPrimaryButton(popUp: PopUp?)
Copy link
Member

Choose a reason for hiding this comment

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

탈퇴/로그아웃 성공 후 확인 눌렀을 때도 primary case가 실행되는거지요?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

넵 맞습니다! 버튼 하나인 경우 primary 두개인 경우 두번째가 secondary입니다

Comment on lines +207 to +208
/// 기존 유저 (좌측 뒤로가기 버튼)
case existingUser
Copy link
Member

Choose a reason for hiding this comment

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

해당 케이스가 뷰의 어디에서 사용되는걸까요 ?? 뒤로가기가 있는 초대코드 입력 화면을 미리 생각하셔서 만들어 놓으신걸까요 .. ??

Copy link
Contributor Author

Choose a reason for hiding this comment

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

트레이니 마이페이지 -> 초대코드 입력하기 의 플로우에서 사용됩니다!
해당 케이스에서는 상단 네비 기능 표시가 달라집니다

@FpRaArNkK FpRaArNkK merged commit 53388bd into develop Feb 4, 2025
@FpRaArNkK FpRaArNkK requested a review from stealmh February 6, 2025 11:29
@FpRaArNkK FpRaArNkK deleted the TNT-206-traineeMyPage branch February 12, 2025 08:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨Feat 새로운 기능 구현 (새로운 로직 추가, UI 구현 등)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants