[Fix/#370] 6차 스프린트 1차 QA 반영#373
Conversation
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
…fix/#370/v6-1st-QA Co-authored-by: Copilot <copilot@github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Code Review
This pull request enhances the genre tab navigation with scroll arrows and improves the interest concert selection UI by providing more descriptive labels through an artist mapping. Key changes include refactoring pagination parameters, adding an empty state icon for concert cards, and introducing an icon offset property for dropdowns. The review feedback highlights a missing dependency in a query key, suggests performance optimization using useMemo for data processing, identifies non-standard Tailwind CSS classes, and recommends structural improvements to ensure consistent labeling for newly selected items.
There was a problem hiding this comment.
Pull request overview
QA 피드백(#370)을 반영해 관심 콘서트 설정/조회 및 탐색 UI 동작을 개선하는 PR입니다. 관심 콘서트 선택 UX(빈 제목 처리/엠티뷰), 탐색 탭/필터 칩 UI, 그리고 일부 무한스크롤 페이징 동작을 손보는 변경이 포함됩니다.
Changes:
- 관심 콘서트 설정 화면에서 제목이 없는 콘서트 선택 시 칩 라벨을 아티스트 기반으로 보정하고(매핑 전달), 포스터 없는 카드 엠티뷰를 이미지로 표시
- 탐색 페이지 필터 칩의 아이콘 위치 보정(옵션 추가) 및 장르 탭에 좌/우 스크롤 화살표 버튼 추가
- 무한 스크롤 페이징/캐싱 로직 일부 조정(
useConcertListnext cursor 처리,useInterestConcertsqueryKey 변경)
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| src/pages/SetInterestConcertPage.tsx | 관심 목록으로부터 id -> artist 매핑을 만들어 SelectedSection에 전달 |
| src/features/interest/ui/SelectedSection.tsx | 선택된 칩 라벨이 비어있을 때 아티스트 기반 폴백 라벨을 표시 |
| src/features/interest/ui/SelectableInfiniteConcertList.tsx | 포스터 없는 공연 카드에 엠티뷰 SVG 이미지를 사용 |
| src/entities/genre/ui/GenreTabs.tsx | 장르 탭 가로 스크롤에 좌/우 화살표 버튼 및 스크롤 감지 로직 추가 |
| src/features/search/ui/FilterChips.tsx | 기간/상태 드롭다운에 아이콘 오프셋 옵션 전달 |
| src/features/search/ui/Dropdown/Dropdown.tsx | 아이콘 오프셋을 위한 offsetIcon prop 및 래핑 적용 |
| src/features/interest/model/useInterestConcerts.ts | 관심 콘서트 infinite query의 queryKey 구성 변경 |
| src/features/concert/model/useConcertList.ts | getNextPageParam에서 cursor가 없으면 undefined 반환하도록 수정 |
Comments suppressed due to low confidence (1)
src/features/interest/model/useInterestConcerts.ts:35
useInterestConcertsstill accepts/uses thesizeparam ingetInterestConcerts(...), butsizewas removed from thequeryKey. This can cause cache collisions and return the wrong number of items when different callers pass differentsizevalues (e.g.,InterestConcertCarouselusessize: 5). Includesizein thequeryKey(and its generic tuple type), or remove thesizeoption entirely if it’s meant to be fixed.
queryKey: ["interest-concerts", isLoggedIn, sort],
refetchOnMount: "always",
enabled,
queryFn: ({ pageParam }) =>
getInterestConcerts({
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <copilot@github.com>

📌 이슈 번호
📌 PR 유형
📌 PR 내용