-
Notifications
You must be signed in to change notification settings - Fork 1
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][#13] MyPage 화면 UI #50
Conversation
josushell
commented
Feb 11, 2024
•
edited
Loading
edited
- 마이 페이지 화면 UI
- State, ViewModel 중 이미지와 관련된 부분은 구현했습니다 (사용자 프로필은 테스트 용으로 이미지로 해둠 추후 유저 정보 관리 정해지면 변경 예정)
- 지금 문제는 navigator로 구현했는데 하단 탭바가 사라진다는 것임... 앨범 클릭 했을 때 이미지 자세하게 보는 화면은 하단 탭바가 없는 화면이라서 내비게이션 main navigator 수정 안하구 일단 uploadPhotoNavigator에 구현해준거 참고해서 구현했어
- 근데 그랬더니 마이 페이지 하단 탭바가 사라져버림.. 어떤걸 수정해야 최대한 현재 구조에서 벗어나지 않을 수 있을까? @easyhooon
:feature:mypage 모듈 build.gradle 에 libs.system.ui.controller 의존성 추가한거 누락된듯? |
지금 이게 각 탭별로 Nested Navigation 이 들어가는 상태라 각 탭으로 이동하는 Route 가 존재하고, 각 화면 별로 Route 들이 또 개별적으로 존재하는 형태인데 ex) uploadphoto 모듈 보면 UPLOAD_PHOTO_ROUTE, UPLOAD_ROUTE, UPLOAD_CHECK_ROUTE 가 존재 @josushell 당장 생각나는 해결책으로는 MyAlbumImageScreen 을 별도의 모듈로 빼버려서 바텀 네비게이션바가 포함되는 화면들은 단일 화면 모듈로 만들어서 nested navigation 형태가 되지 않도록 만드는 것인데, 해결책이 그거박에 없는지는 모르겠어 다른 방법이 있을 것 같은데 생각이 안나네 https://github.com/droidknights/DroidKnights2023_App 내가 프로젝트 설정할 때 해당 프로젝트 기반으로 만든거거든 clone 해서 실행해보면 홈 화면 내에 session 또는 contributor 화면으로 넘어갈때 바텀네비가 사라지는데 각각 개별 모듈로 만들어줬네. 그리고 nested navigation 을 사용하는 session 모듈의 경우엔 메인탭에 포함되지 않는 화면이야. 요약하자면 당장의 해결법은 myalbum? 같은 네이밍의 모듈을 하나 더 추가해서 mypage 모듈을 nested navigation 형태가 되지 않도록 해라ㅇㅇ 비효율적인 모듈 분리인 것 같아 뭔가 아쉬운데 다른 방법이 있나 수소문좀 해볼게! |
@Composable
inline fun <reified T : ViewModel> NavBackStackEntry.sharedViewModel(
navController: NavHostController,
): T {
val navGraphRoute = destination.parent?.route ?: return hiltViewModel()
val parentEntry = remember(this) {
navController.getBackStackEntry(navGraphRoute)
}
return hiltViewModel(parentEntry)
} 해당 함수 모듈마다 반복적으로 선언해서 쓰고 있는데 :core:common 모듈 extension 패키지 내에 NavBackStackEntry 파일 만들어서 안에 선언해두고 가져다 쓰면 좋을듯! |
까악 추가해둔 커밋 어디갔어 어이없네
이거 내가 여기에 추가해둘게 |
7a18e84 해당 커밋 MyAlbumImageScreen 에도 적용해줘야할 것 같아 |
예압 체리픽으로 넣었으 |
75e74ca
to
493caad
Compare