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

[ISSUE-45] 약속 잡기 STEP 1-2 구현 #72

Merged
merged 18 commits into from
Jul 1, 2022

Conversation

jihee-dev
Copy link
Member

@jihee-dev jihee-dev commented Jun 28, 2022

ISSUE


작업 내용

  • 패키지 이동
    • 약속 잡기 기능이 여러 화면으로 이루어져 있음 -> 하나의 패키지로 묶어서 정리
    • ui > main > create > theme, title
  • Timber 태그에 Debug 추가
    • Debug로 검색하여 사용자가 작성한 로그만 따로 검색이 용이하도록 수정
  • 플랜즈 텍스트필드 컴포넌트 추가
  • 플랜즈 버튼 컴포넌트 일부 수정
    • 속성값이 잘못 적용되어 있던 부분 수정
    • private으로 있었던 PlanzButton을 공개하고, PlanzBasicButton으로 네이밍 변경
  • 약속 잡기 STEP 1 약속 테마 선택 화면 구현
  • 약속 잡기 STEP 2 약속명 및 약속 장소 입력 화면 구현
  • 메인 화면 -> STEP 1 -> STEP 2 네비게이션 구현 및 파라미터 전달 구현
    • 약속명과 약속 장소는 optional
      -> 빈 문자열로 파라미터를 전달할 경우 오류가 발생하기 때문에 빈문자열일 경우 '@'로 BLANK_VALUE를 추가하여 전달하도록 구현
      -> 마지막 단계에서 BLANK_VALUE일 경우 빈문자열로 치환하여 서버로 전송해야 함!

추가)

  • 스트링 리소스의 선언 순서를 컨벤션에 맞게 변경
    • 공통 컴포넌트 - 스플래시 - 로그인 - 메인(플로우 순서대로) - Icon Description
  • 플랜즈 앱 바 아이콘의 Content Description 추가
  • PlanzScreen NavHost에 innerPadding 적용

실행 화면

Screen Shot Screen Shot
스크린샷 2022-06-29 오전 3 31 42 스크린샷 2022-06-29 오전 3 31 50
스크린샷 2022-06-29 오전 3 31 56 스크린샷 2022-06-29 오전 3 32 07
스크린샷 2022-06-29 오전 3 32 29

Check List

  • PR 제목은 [ISSUE-{N}] PR 제목으로 작성
  • CI/CD 통과 여부
  • 1명 이상의 Approve 확인 후 Merge
  • 관련 이슈 연결

@jihee-dev jihee-dev self-assigned this Jun 28, 2022
Copy link
Member

@hoyahozz hoyahozz left a comment

Choose a reason for hiding this comment

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

코드 잘 봤습니당..!
확실히 가독성이 제 코드보다 훨씬 조은 것 같아요..!
잘 흡수하고 갑니닷 👍👍👍👍👍👍

Comment on lines +12 to +16
Timber.plant(object : Timber.DebugTree() {
override fun log(priority: Int, tag: String?, message: String, t: Throwable?) {
super.log(priority, "Debug[$tag]", message, t)
}
})
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
Member Author

Choose a reason for hiding this comment

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

팀버가 로그 찍을 때 위치에 따라서 태그를 알아서 달아주는데, 요 태그에 Debug 문구를 앞에 추가해 주게 됩니당
그러면 태그가 다르게 붙은 여러 곳에서 로그를 찍을 때 내가 찍은 로그만 모아서 검색할 수 있게 돼서 로그 확인할 때 편해용!

viewModel.setEvent(ThemeContract.ThemeEvent.ChoosePlanTheme(it))
}
)
Spacer(Modifier.height(12.dp))
Copy link
Member

Choose a reason for hiding this comment

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

버튼별 간격 조정이면 Column 에서 spacedBy 써보는건 어떨까요오...?

Copy link
Member Author

Choose a reason for hiding this comment

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

오 그런 게 있는지도 몰랐어요 ㅋㅋㅋ 감사합니당 확인해 볼게요!

Copy link
Member

Choose a reason for hiding this comment

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

공식문서
근데 spacedBy 는 설정한 패딩으로 아이템들이 모두 간격을 갖게 되는데
지희님이 의도하신건 ThemeChoiceButton 위 44.dp, 아래 12.dp 를 주신거로 봐선
Box 로 감싸서 modifier 에 패딩주는? 방식으로 하든가 해야할 것 같아요

Copy link
Member Author

Choose a reason for hiding this comment

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

아 맞아요 요고는 바로 column에 탑 패딩 넣고, spacedBy 적용하면 좋을 것 같습니당!

Copy link
Member

@KwonDae KwonDae left a comment

Choose a reason for hiding this comment

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

코드 깔끔하게 잘 작성하신거 같아요!
지금 우리 구조대로 sideEffect, event, state 관리하니까
viewModel 내 비즈니스 로직이 깔끔해서 너무 보기 좋네요

Spacer 대신에 속성 이용하는 것만 수정해보면 좋을것 같아요
고생하셨어요!!
👍 👍

@@ -59,23 +59,21 @@ fun PlanzButtonWithBack(
onBackClick: () -> Unit,
) {
Row(modifier = modifier.padding(horizontal = 16.dp)) {
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
Row(modifier = modifier.padding(horizontal = 16.dp)) {
Row(
modifier = modifier.padding(horizontal = 16.dp),
horizontalArrangement = Arrangement.spacedBy(10.dp)
) {

아래 Spacer 대신에 Row 의 horizontalArrangement 속성을 사용하는건 어때요?

Copy link
Member Author

Choose a reason for hiding this comment

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

좋습니다! spacedBy 존재를 몰라서 이런 식으로 작성된 코드들 다시 살펴봐야겠어요!

) {
val textState = getTextState(text = text, maxLength = maxLength)

Column(
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
Column(
Column(
modifier = modifier.padding(horizontal = 20.dp),
verticalArrangement = Arrangement.spacedBy(8.dp)

로 수정할 수 있겠네요!

Copy link
Member Author

Choose a reason for hiding this comment

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

좋아요 감사합니당!


import com.yapp.growth.presentation.R

enum class PlanThemeType(val themeStringResId: Int) {
Copy link
Member

Choose a reason for hiding this comment

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

enum 으로 관리하는거 정말 좋은거 같아요 👍

@jihee-dev jihee-dev merged commit 89d9481 into develop Jul 1, 2022
@jihee-dev jihee-dev deleted the feature/issue-045--create-plan branch July 1, 2022 16:04
@KwonDae KwonDae added this to the Sprint #4 milestone Jul 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Sprint #4] 약속잡기 플로우 UI 구현
3 participants