Skip to content

feat: 8주차 미션_우가#59

Open
sua710 wants to merge 6 commits into
mainfrom
wooga-m8
Open

feat: 8주차 미션_우가#59
sua710 wants to merge 6 commits into
mainfrom
wooga-m8

Conversation

@sua710
Copy link
Copy Markdown
Collaborator

@sua710 sua710 commented May 20, 2026

📌 PR 제목

🔗 관련 이슈

Closes #이슈번호

✨ 변경 사항

  • 기능1 추가
  • UI 수정
  • 버그 수정

🔍 테스트

  • 테스트 완료
  • 에러 없음

📸 스크린샷 (선택)

🚨 추가 이슈

Copy link
Copy Markdown
Collaborator

@kimdoyeon1234 kimdoyeon1234 left a comment

Choose a reason for hiding this comment

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

LazyVerticalGrid + LazyRow 모두 items() DSL과 key를 올바르게 사용하신 점, ProductDetailScreen까지 구현하신 점 정말 인상적입니다!

다만 이번 미션의 핵심인 Type-safe Navigation이 아직 적용되지 않았습니다! 현재 selectedTab enum으로 화면을 전환하고 있는데, @serializable + data object + NavController 방식으로 바꿔주세요!
그리고 모든 화면과 컴포넌트가 MainActivity.kt 한 파일에 작성되어 있는데, 화면마다 파일을 분리해주시면 가독성과 유지보수성이 훨씬 좋아집니다!
ShopScreen의 하트 버튼도 클릭 이벤트가 연결되어 있지 않으니 onWishClick 람다를 추가해서 isWishlisted 상태가 변경되도록 수정해주세요!

Type-safe Navigation만 적용해주시면 완성도가 훨씬 올라갈 거예요! 수고하셨습니다!!

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

HomeScreen, ShopScreen, WishlistScreen, CartScreen, ProductDetailScreen 등 모든 화면과 컴포넌트가 MainActivity.kt 한 파일에 작성되어 있습니다! 하나만 보면 되서 좋긴합니다만.. 화면마다 파일을 분리해주시면 가독성과 유지보수성이 훨씬 좋아집니다! 예를 들어 ui/home/HomeScreen.kt, ui/shop/ShopScreen.kt처럼 패키지 구조도 함께 잡아주세요!

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

현재 selectedTab enum으로 화면을 전환하고 있는데, NavController + NavHost 기반의 Type-safe Navigation이 적용되지 않았습니다! @serializable + data object 방식으로 Route를 정의하고 composable<Route.Home> 형태로 바꿔주세요!

kotlin@Serializable sealed interface Route {
    @Serializable data object Home : Route
    @Serializable data object Shop : Route
    ...
}
composable<Route.Home> { HomeScreen() }

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

BottomTab enum과 ProductUiModel 데이터 클래스도 별도 파일로 분리해주시면 더 좋습니다! 예를 들어 navigation/BottomTab.kt, model/ProductUiModel.kt처럼 분리해주세요!

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

ShopScreen의 ProductGridCard에서 하트 아이콘이 표시되지만 클릭 이벤트가 연결되어 있지 않습니다! 하트 클릭 시 isWishlisted 상태가 변경되도록 onWishClick 람다를 추가해주세요!

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.

2 participants