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

[PC-54] 매칭 상세 페이지 화면 전환 구현 #10

Merged
merged 9 commits into from
Dec 25, 2024

Conversation

sksowk156
Copy link
Contributor

@sksowk156 sksowk156 commented Dec 25, 2024

PC-54

1. ⭐️ 변경된 내용

  • 매칭 상세 페이지 화면 전환 구현

2. 🖼️ 스크린샷(선택)

KakaoTalk_20241225_161047624 KakaoTalk_20241225_161047624_01 KakaoTalk_20241225_161047624_02 KakaoTalk_20241225_161047624_03

3. 💡 알게된 부분

4. 📌 이 부분은 꼭 봐주세요!

  • 디자이너님께서 매칭 상세 페이지에 top bar와 bottom bar에 디자인 변경이 있다고 하셔서, 일단 임시로 구현해두었습니다. 내일 디자인 결정하시고 말씀해주신다고 하셔서 내일 결정나는 데로 변경해둘게요!
  • 일단 화면 전환 구현을 목표로 해서, 디자인은 최대한 간단하게만 구성해두었어요! PR이 끝나는 데로 바로 디자인 작업 진행할 예정이에요
  • 저번에 추상화해주신 네이밍 'isHideBottomNavigationRoute'을 'shouldHideBottomNavigation'로 변경했는데 혹시 어떻게 생각하시나요? 확장함수 특성과 영어적 표현?!을 생각했을 때 current Destination should Hide BottomNavigation 이 조금 더 자연스럽지 않을까 생각해서 변경해봤는데 의견 부탁드립니다!
  • 그리고 이건 조금 이해가 안되는데 local properties가 왜 자꾸 반영되는 걸까요?! gitignore에도 등록되어 있는데,,, 제가 뭘 잘못한걸까요?!

@sksowk156 sksowk156 added UI/UX 🎨 디자인 시스템, 디자인 리소스 관련 코드 🎨 리뷰 원해요🔥 피어의 리뷰를 기다리는 ing.. 🔥 ㅈㅎ찐혁 🌙 훗날 세상을 아우를 남자, sksowk156 labels Dec 25, 2024
@sksowk156 sksowk156 requested a review from tgyuuAn December 25, 2024 07:23
@sksowk156 sksowk156 self-assigned this Dec 25, 2024
@sksowk156 sksowk156 changed the title Feature/sksowk156/piece 54 [PIECE-54] 매칭 상세 페이지 화면 전환 Dec 25, 2024
@sksowk156 sksowk156 changed the title [PIECE-54] 매칭 상세 페이지 화면 전환 [PIECE-54] 매칭 상세 페이지 화면 전환 구현 Dec 25, 2024
Copy link
Member

@tgyuuAn tgyuuAn left a comment

Choose a reason for hiding this comment

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

진혁님 수고하셨습니다!

큰 변동사항은 없고 네이밍과 컨벤션 관련 코멘트가 많아요!

하나씩 차근차근 읽어봐주세용~~~~



그리고 이건 조금 이해가 안되는데 local properties가 왜 자꾸 반영되는 걸까요?! gitignore에도 등록되어 있는데,,, 제가 뭘 잘못한걸까요?!

흠... 저도... 잘... ㅠㅠㅠㅠㅠㅠㅠㅠ 커밋하구 그럼 따로 local properties를 commit stage에서 일일이 내려주시는 것이 어떨까요 ㅋㅌㅋㅌㅋ?

git ignore에 여러가지 넣어봐야할 듯...

Comment on lines -38 to +47
if (currentDestination?.isHideBottomNavigationRoute() == false) {
if (currentDestination?.shouldHideBottomNavigation() == false) {
Copy link
Member

Choose a reason for hiding this comment

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

shouldXXX 네이밍이 더 자연스러운 것 같아요! 구웃

Comment on lines 27 to 29
/**
* 숨겨야 하는 경로들을 상수로 정의
*/
Copy link
Member

Choose a reason for hiding this comment

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

주석이 없어도 코드가 잘 읽히는 것 같아요!

다만, 해당 프로퍼티의 위치를 shouldHideBottomNavigation() 주위로 두면 더 가독성이 좋을 것 같네요.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

아하 넵 알겠습니다! 저도 모르게 프로퍼티를 제일 위로 올려버렸네요

) {
val pageIndex = remember { mutableIntStateOf(0) }
Copy link
Member

Choose a reason for hiding this comment

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

p2) 제 생각에 이 부분은 remember보다는 rememberSaveable을 사용하는 것이 더 좋을 것 같아요.

그리고 by 연산자를 사용해서 pageIndex.IntValue 같은 보일러 플레이트를 제거하는 것은 어떨까요?

p4) 그리고 해당 값을 ViewModel로 올리는 것에 대해서는 어떻게 생각하시나요 ?!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

  • 아 사실 이번 PR은 화면 전환 구현이 주목적이여서 내부의 디테일한 ui 부분은 임시로 구현해놨습니다! 그래서 세부적인 요소는 신경쓰지 않고 구현했는데, 이번 PR이 끝나는데로 다시 한 페이지씩 디자인을 적용해보겠습니다!
  • 넵 좋은 생각인 것 같아요! state로 정의해서 viewmodel로 관리하면 좋을 것 같아요!

Comment on lines 81 to 85
when (pageIndex.intValue) {
0 -> ProfileBasicInfoBody()
1 -> ProfileBasicValueBody()
2 -> ProfileAllValueBody()
}
Copy link
Member

Choose a reason for hiding this comment

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

p3) 그냥 MagicNumber보다 enum class를 사용해서 상수화 시키면 좋을 것 같네요!

if (pageIndex.intValue > 0) pageIndex.intValue--
},
onCloseClick = onCloseClick,
title = "가치관 pick"
Copy link
Member

Choose a reason for hiding this comment

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

p3) 이 부분 혹시 나중에 다국화를 고려하여 string.xml으로 분리해주실 수 있을까요?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

넵 이 부분도 이번 PR 끝나고 ui 작업하는 데로 말씀하신 부분도 적용해둘게요!

Copy link
Member

Choose a reason for hiding this comment

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

이 부분 일단 머지하고 다음 PR에서 ViewModel로 올린 뒤 enum으로 꼭 바꿔주세용~~

Comment on lines 212 to 214
items(dummyItems) { item ->
BasicValueCard(item)
}
Copy link
Member

Choose a reason for hiding this comment

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

p2) 지금은 dummy이지만 나중에는 key를 반드시 사용하면 좋을 것 같아요!


@OptIn(ExperimentalLayoutApi::class)
@Composable
fun ProfileBasicInfoBody() {
Copy link
Member

Choose a reason for hiding this comment

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

p4) 아래 화면인 것 같은데, 가치관 Talk이라는 타이틀에 맞게 네이밍을 지으면 더 좋을 것 같아요!

image

Copy link
Contributor Author

Choose a reason for hiding this comment

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

앗 제가 잘못봤군요! 가치관 Talk이었군요!

Comment on lines 218 to 224
data class BasicValueItem(val title: String, val description: String)

fun dummyBasicValueItems() = listOf(
BasicValueItem("음악 취향", "여행하며 모을 감성, LGBTQ+ 권리를 말해요..."),
BasicValueItem("공통 가치관", "요리, 고기, 라이딩 좋아해요..."),
BasicValueItem("연애관", "서로 존중하고 신뢰받으며 성장하는 관계...")
)
Copy link
Member

Choose a reason for hiding this comment

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

p3) 이 부분도 더미용으로 UI 레이어에 데이터 클래스가 있는 것이겠죠?

domain 레이어에 작성하고 ViewModel에서 꺼내서 써야할 것 같아요!

Comment on lines 241 to 242
@Composable
fun ProfileAllValueBody() {
Copy link
Member

Choose a reason for hiding this comment

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

p3) 이 부분은 가치관 Pick 이라는 타이틀이 있으니 그에 맞는 네이밍을 가져가면 더 직관적일 것 같네요.

image

Copy link
Contributor Author

Choose a reason for hiding this comment

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

사실 요 부분 네이밍에 좀 고민했는데, 여기 페이지가
image
이거랑
image
이렇게 2개가 있어서 ProfileBasicValueBody 랑 ProfileAllValueBody로 구분했는데, 어떻게 수정하면 좋을까요?!

Copy link
Contributor Author

@sksowk156 sksowk156 Dec 25, 2024

Choose a reason for hiding this comment

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

제가 타이틀을 잘못 봐서 2개 타이틀이 같은 가치관 pick인줄 착각했습니다! 😭
ProfileValueTalkBody, ProfileValuePickBody 로 변경하려고 하는데 어떻게 생각하시나요?

Copy link
Member

Choose a reason for hiding this comment

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

제가 타이틀을 잘못 봐서 2개 타이틀이 같은 가치관 pick인줄 착각했습니다! 😭 ProfileValueTalkBody, ProfileValuePickBody 로 변경하려고 하는데 어떻게 생각하시나요?

좋은 것 같습니다!

}
}

private fun processOnMatchingDetailCloseClickIntent() {
Copy link
Member

Choose a reason for hiding this comment

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

MVI를 사용할 때에는 navigationHelper를 private으로 두고 Intent로 이벤트를 받은 뒤 ViewModel 내부에서만 핸들링하면 되겠군요!

@tgyuuAn tgyuuAn added 머지 해도될듯염🌟 현재 코드를 기존 코드에 합쳐도 될 것 같다라고 판단..! 🌟 and removed 리뷰 원해요🔥 피어의 리뷰를 기다리는 ing.. 🔥 labels Dec 25, 2024
@sksowk156 sksowk156 merged commit 4f35c86 into develop Dec 25, 2024
1 check passed
@sksowk156 sksowk156 deleted the feature/sksowk156/PIECE-54 branch December 25, 2024 09:38
@tgyuuAn tgyuuAn changed the title [PIECE-54] 매칭 상세 페이지 화면 전환 구현 [PC-54] 매칭 상세 페이지 화면 전환 구현 Dec 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
UI/UX 🎨 디자인 시스템, 디자인 리소스 관련 코드 🎨 ㅈㅎ찐혁 🌙 훗날 세상을 아우를 남자, sksowk156 머지 해도될듯염🌟 현재 코드를 기존 코드에 합쳐도 될 것 같다라고 판단..! 🌟
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants