Skip to content

[Feature/#86] : UI 변경 및 약속 생성 백스택 정리#87

Merged
gaeulzzang merged 6 commits intodevelopfrom
feature/#86-option-color-mod
Apr 8, 2025
Merged

[Feature/#86] : UI 변경 및 약속 생성 백스택 정리#87
gaeulzzang merged 6 commits intodevelopfrom
feature/#86-option-color-mod

Conversation

@gaeulzzang
Copy link
Contributor

✅ 𝗖𝗵𝗲𝗰𝗸-𝗟𝗶𝘀𝘁

  • merge할 브랜치의 위치를 확인해 주세요.(main❌/develop⭕)
  • 리뷰가 필요한 경우 리뷰어를 지정해 주세요.
  • 리뷰는 PR이 올라오면 최대한 빠르게 진행합니다.
  • P1 단계의 리뷰는 빠르게 확인 후 반영합니다.
  • Approve된 PR은 assigner가 머지하고, 수정 요청이 온 경우 수정 후 다시 push를 합니다.

📌 𝗜𝘀𝘀𝘂𝗲𝘀

📎 𝗪𝗼𝗿𝗸 𝗗𝗲𝘀𝗰𝗿𝗶𝗽𝘁𝗶𝗼𝗻

  • 문제의 그 UI. 옵션 선택/선택 안했을 때의 색상 적용
  • 캘린더 뷰에서 약속 생성으로 이동했을 때 백스택 정리
  • 가능한 시간 입력하는 뷰에서 타임 테이블 스크롤이 안되는 이슈가 있어서 레이아웃 ConstraintLayout -> Box로 변경

📷 𝗦𝗰𝗿𝗲𝗲𝗻𝘀𝗵𝗼𝘁

default.mp4

💬 𝗧𝗼 𝗥𝗲𝘃𝗶𝗲𝘄𝗲𝗿𝘀

현재 화면 전환 시 백스택을 정리하기 위해 NavOptions의 setPopUpTo() 함수를 사용하고 있습니다.
그러나 건너뛰려는 화면이 백스택에 존재하지 않을 경우, 해당 로직이 실행되지 않아 백스택 정리가 되지 않는 문제가 발생했습니다.

예를 들어,
그룹 상세 뷰에서 약속 생성을 할 경우: CalendarSubmitComplete → GroupDetail (setPopUpTo(GroupDetail) 실행)
하지만 캘린더 홈에서 바로 약속 생성을 할 경우 GroupDetail 화면이 백스택에 존재하지 않기 때문에 setPopUpTo(GroupDetail)이 무의미하게 됩니다.

이러한 NavOptions의 한계를 고려하여, 해당 상황에서는 BackHandler를 활용해 직접 백스택을 제어하도록 처리하였습니다.
더 좋은 방법이 있다면 알려주세요ㅠㅠ 😢

@gaeulzzang gaeulzzang added ✅ [MOD] 코드 수정 및 내부 파일 수정 🍂 가을 가응가 labels Apr 5, 2025
@gaeulzzang gaeulzzang self-assigned this Apr 5, 2025
@gaeulzzang gaeulzzang requested a review from a team as a code owner April 5, 2025 12:16
.border(
width = 1.dp,
color = if (isSelected) NoostakTheme.colors.gray500 else NoostakTheme.colors.blue100,
color = if (isSelected) NoostakTheme.colors.blue700 else NoostakTheme.colors.gray100,
Copy link
Contributor

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.

무야호오오옹 드디어 색깔 바뀐다 ㅋ

Copy link
Contributor

@twogarlic twogarlic left a comment

Choose a reason for hiding this comment

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

맘이랑 몸 모두 고생많으셧슴니다 ,,... 이거 날리고 차단 당하셧던것 맞죠?

@gaeulzzang
Copy link
Contributor Author

맘이랑 몸 모두 고생많으셧슴니다 ,,... 이거 날리고 차단 당하셧던것 맞죠?

넴.... 덕분에 velog에 글 썼어여 ><

Copy link
Contributor

@youjin09222 youjin09222 left a comment

Choose a reason for hiding this comment

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

진짜 고생 많았어ㅓㅓㅓ 억까 제발 멈춰...

),
.align(Alignment.BottomCenter)
.padding(bottom = dimensionResource(id = R.dimen.vertical_padding))
.zIndex(1f),
Copy link
Contributor

Choose a reason for hiding this comment

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

P3: zIndex로 버튼 가림 현상까지 방지하셨네요~! 👍👍👍

Comment on lines -140 to +141
top.linkTo(parent.top)
start.linkTo(parent.start)
},
text = stringResource(R.string.title_appointment_check),
color = NoostakTheme.colors.black,
style = NoostakTheme.typography.h4Bold,
textAlign = TextAlign.Start
)
NoostakEditableTimeTable(
availablePeriods = availablePeriods,
modifier = Modifier
.constrainAs(timeTable) {
top.linkTo(title.bottom)
start.linkTo(parent.start)
end.linkTo(parent.end)
height = Dimension.fillToConstraints
}
.fillMaxSize()
.padding(bottom = 80.dp)
Copy link
Contributor

Choose a reason for hiding this comment

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

P3: 버튼 영역과 겹치지 않도록 공간 확보하신건가요? 너무 좋습니다!

Comment on lines +46 to +48
BackHandler {
appointmentSubmitCompleteViewModel.navigateToGroupDetail(groupId)
}
Copy link
Contributor

Choose a reason for hiding this comment

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

P3: 오 이렇게 BackHandler를 활용해서 ViewModel에서 명시적으로 네비게이션을 처리할 수 있군요? 새롭게 배워갑니다ㅏㅏㅏ

@gaeulzzang gaeulzzang merged commit af2569f into develop Apr 8, 2025
1 check passed
@gaeulzzang gaeulzzang deleted the feature/#86-option-color-mod branch April 8, 2025 14:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🍂 가을 가응가 ✅ [MOD] 코드 수정 및 내부 파일 수정

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[REFACTOR] : 옵션 및 상세 페이지 UI 수정

3 participants