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] 홈화면 내에 스타일로 프로필 생성하기 버튼을 통해, 스타일 입력화면내에 선택한 스타일이 체크되도록 구현 #86

Merged
merged 8 commits into from
Feb 26, 2024

Conversation

easyhooon
Copy link
Collaborator

@easyhooon easyhooon commented Feb 25, 2024

  • 프로필 API 를 연동 후에도 정상적으로 작동하는지 테스트해봐야함(키워드를 클릭하였을 경우 출력되는 다이얼로그에도 해당 버튼이 포함되어있음)
  • 스타일을 선택한 채로, 스타일 입력화면에 진입하는 것과, 선택하지 않은 채로(네비게이션 바 아이콘 클릭) 스타일 입력화면에 진입하는 것에 대한 분기 처리 추가
  • 에러 핸들링 보일러 플레이트 코드 함수화 -> common 모듈로 이동(각 feature 모듈 내에 retrofit 의존성 제거)
  • 엣지 케이스 예외 처리
    LaunchedEffect(pagerState) {
        snapshotFlow { pagerState.currentPage }.collect { page ->
            setSelectedStyleImage(page)
        }
    }

현재 해당 코드를 통해 pager에 swipe 에 따른 currentPage 변화를 구독하는데, 초기 상황(홈화면 진입 후, 아직 한번도 swipe를 진행하지 않음)
에는 pagerState의 변화가 없으므로 style 이 선택되지 않음

따라서 우선,

    fun onGenerateImgBtnClick() = intent {
        postSideEffect(
            HomeSideEffect.NavigateToUploadPhoto(
                if (state.selectedStyle.name.isEmpty()) {
                    state.styleImageList[0].name
                } else {
                    state.selectedStyle.name
                },
            ),
        )
    }

이런식으로 스타일로 프로필 생성하기 버튼을 눌렀는데, 선택된 스타일이 없다면 0번째 인덱스의 스타일이 선택되는 것으로 임시 처리
더 나은 해결방법이 없는지 고민 필요

StyleImage HorizontalPager 를 swipe 하지 않고 바로 버튼을 클릭할 경우, state 가 변하지 않아, collect 가 수행되지 않음. 따라서 해당 첫번째 인덱스의 스타일이 선택되지 않아서, 스타일이 체크가 되지 않는데, 이에 대한 임시 처리

근본적으로는 해당 처리를 해주지 않아도 선택이 되어야 하므로, 다른 방법이 있는지 고민해봐야함
@easyhooon easyhooon added the feature New feature or request label Feb 25, 2024
@easyhooon easyhooon self-assigned this Feb 25, 2024
Copy link
Member

@josushell josushell left a comment

Choose a reason for hiding this comment

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

아 그렇네 진입하고 pager 이벤트 없을 때 엔티티가 애매하네...

@easyhooon easyhooon merged commit 4f8b364 into develop Feb 26, 2024
1 check passed
@easyhooon easyhooon deleted the feature/style-navigation branch February 26, 2024 02:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants