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][#13] MyPage 화면 UI #50

Merged
merged 18 commits into from
Feb 13, 2024
Merged

[FEAT][#13] MyPage 화면 UI #50

merged 18 commits into from
Feb 13, 2024

Conversation

josushell
Copy link
Member

@josushell josushell commented Feb 11, 2024

  • 마이 페이지 화면 UI
  • State, ViewModel 중 이미지와 관련된 부분은 구현했습니다 (사용자 프로필은 테스트 용으로 이미지로 해둠 추후 유저 정보 관리 정해지면 변경 예정)
  • 지금 문제는 navigator로 구현했는데 하단 탭바가 사라진다는 것임... 앨범 클릭 했을 때 이미지 자세하게 보는 화면은 하단 탭바가 없는 화면이라서 내비게이션 main navigator 수정 안하구 일단 uploadPhotoNavigator에 구현해준거 참고해서 구현했어
  • 근데 그랬더니 마이 페이지 하단 탭바가 사라져버림.. 어떤걸 수정해야 최대한 현재 구조에서 벗어나지 않을 수 있을까? @easyhooon

@josushell josushell added the feature New feature or request label Feb 11, 2024
@josushell josushell self-assigned this Feb 11, 2024
@josushell josushell linked an issue Feb 11, 2024 that may be closed by this pull request
3 tasks
@josushell josushell removed a link to an issue Feb 11, 2024
3 tasks
@josushell josushell linked an issue Feb 11, 2024 that may be closed by this pull request
3 tasks
@easyhooon
Copy link
Collaborator

:feature:mypage 모듈 build.gradle 에 libs.system.ui.controller 의존성 추가한거 누락된듯?

@easyhooon
Copy link
Collaborator

easyhooon commented Feb 11, 2024

지금 문제는 navigator로 구현했는데 하단 탭바가 사라진다는 것임... 앨범 클릭 했을 때 이미지 자세하게 보는 화면은 하단 탭바가 없는 화면이라서 내비게이션 main navigator 수정 안하구 일단 uploadPhotoNavigator에 구현해준거 참고해서 구현했어
근데 그랬더니 마이 페이지 하단 탭바가 사라져버림.. 어떤걸 수정해야 최대한 현재 구조에서 벗어나지 않을 수 있을까?

지금 이게 각 탭별로 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 형태가 되지 않도록 해라ㅇㅇ

비효율적인 모듈 분리인 것 같아 뭔가 아쉬운데 다른 방법이 있나 수소문좀 해볼게!

@easyhooon
Copy link
Collaborator

@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 파일 만들어서 안에 선언해두고 가져다 쓰면 좋을듯!

@josushell
Copy link
Member Author

:feature:mypage 모듈 build.gradle 에 libs.system.ui.controller 의존성 추가한거 누락된듯?

까악 추가해둔 커밋 어디갔어 어이없네

```kotlin
@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 파일 만들어서 안에 선언해두고 가져다 쓰면 좋을듯!

이거 내가 여기에 추가해둘게

@easyhooon
Copy link
Collaborator

7a18e84 해당 커밋 MyAlbumImageScreen 에도 적용해줘야할 것 같아

@josushell
Copy link
Member Author

7a18e84 해당 커밋 MyAlbumImageScreen 에도 적용해줘야할 것 같아

예압 체리픽으로 넣었으

@easyhooon
Copy link
Collaborator

easyhooon commented Feb 11, 2024

그리구 내 핸드폰에서 봤을 때, 상단 statusbar 가 좀 많이 밑으로 내려온 것 처럼 보이는데, padding 이 중복으로 적용된건가 함 확인해봐야겠다.

@josushell josushell merged commit 665a033 into develop Feb 13, 2024
1 check passed
@josushell josushell deleted the feature/mypage-ui branch February 13, 2024 11:27
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.

마이 페이지 화면 UI
2 participants