Skip to content

feat: add curation v2 tab feed#751

Merged
hyejj19 merged 9 commits into
mainfrom
feature/curation-tab-planning
Jul 5, 2026
Merged

feat: add curation v2 tab feed#751
hyejj19 merged 9 commits into
mainfrom
feature/curation-tab-planning

Conversation

@hyejj19

@hyejj19 hyejj19 commented Jul 5, 2026

Copy link
Copy Markdown
Collaborator

관련 이슈 (Related Issue)

  • 관련 이슈 없음

PR 타입 (Type of Change)

  • ✨ feat: 새로운 기능
  • 🐛 fix: 버그 수정
  • ♻️ refactor: 리팩토링
  • 💄 style: UI/스타일 변경
  • 📝 docs: 문서 수정
  • 🔧 chore: 설정/빌드 변경
  • 🧪 test: 테스트 추가/수정

변경 사항 (Changes)

  • 큐레이션 v2 피드 조회용 spec code 상수를 추가하고, 탭별 code 값을 API 요청 파라미터로 전달하도록 변경했습니다.
  • 큐레이션 라우트에 시음회 / 큐레이션 탭을 노출하고, 탭 상태를 서버 code와 동일한 search param 값으로 관리하도록 개선했습니다.
    • WHISKY_TASTING_EVENT
    • RECOMMENDED_WHISKY
  • 탭 전환 시 router.push로 히스토리를 남겨 뒤로가기/앞으로가기에서도 탭 상태가 복원되도록 처리했습니다.
  • 피드 카드 컴포넌트를 시음회 카드와 추천 큐레이션 카드로 분리했습니다.
  • 추천 큐레이션 상세 화면을 추가하고, 기존 시음회 상세 화면과 payload 타입에 따라 분기 렌더링하도록 변경했습니다.
  • 상세 페이지 상단 헤더를 fixed 처리하고, 현재 상세 데이터의 제목을 표시하도록 변경했습니다.
  • 상세 헤더와 시음회 카드 제목이 길어 영역을 넘칠 경우 공용 AutoMarqueeText 컴포넌트로 marquee 애니메이션이 동작하도록 추가했습니다.
  • 홈 featured 탭 섹션에 시음회 탭을 추가하고, 홈 전용 compact 시음회 미리보기 카드와 시음회 더보기 CTA 카드를 추가했습니다.
  • 홈 시음회 미리보기 카드가 섹션 하단에 더 가깝게 닿도록 카드 비율을 키우고, 전체 텍스트 크기를 낮춰 밀도를 조정했습니다.
  • 시음회 카드 설명글은 최대 2줄까지만 노출되도록 clamp 처리했습니다.
  • 하단 내비게이션에서 검색 항목을 주석 처리하고 시음회 항목을 노출했습니다.

변경 이유 (Reason for Changes)

  • 신규 큐레이션 v2 API가 spec code 기반으로 피드를 조회하므로, 프론트에서도 탭 진입 시 명시적인 code 파라미터를 전달해야 합니다.
  • payload shape 기반 클라이언트 분류보다 서버 필터를 우선 사용하는 편이 네트워크/렌더링 구조가 명확합니다.
  • 큐레이션과 시음회는 카드 높이, 상세 구성, CTA 유무가 달라지는 영역이라 컴포넌트를 분리해 유지보수성을 높였습니다.
  • 홈 featured 영역의 시음회 카드는 기존 피드 카드보다 작은 노출 영역에 맞아야 하므로 홈 전용 compact 카드로 분리했습니다.
  • 홈 시음회 미리보기 카드의 기존 높이가 섹션보다 작아 하단 여백이 크게 보였고, 텍스트가 카드 안에서 과하게 커 보여 카드 비율과 타이포그래피를 함께 조정했습니다.
  • 제목 overflow 처리가 상세 헤더와 카드에서 반복되어 공용 컴포넌트로 분리했습니다.
  • 탭 상태를 URL에 남겨 사용자가 뒤로가기/앞으로가기로 이전 탭 상태를 자연스럽게 복원할 수 있도록 개선했습니다.

스크린샷 (Screenshots)

Before After
첨부 없음 첨부 없음

테스트 방법 (Test Procedure)

  1. pnpm lint
  2. pnpm exec eslint 'src/app/(primary)/curation/page.tsx' 'src/app/(primary)/curation/[id]/page.tsx'
  3. pnpm exec eslint src/components/feature/home/HomeFeaturedSection.tsx src/components/feature/home/HomeTastingEventPreview.tsx src/components/feature/home/_components/HomeTastingEventPreviewCard.tsx
  4. pnpm exec tsc --noEmit --pretty false 2>&1 | rg 'src/(components/feature/home|api/curation-v2|app/\\(primary\\)/curation|queries|style)'
  5. /curation 진입 시 시음회 탭이 기본 선택되는지 확인합니다.
  6. /curation?tab=RECOMMENDED_WHISKY 진입 시 큐레이션 탭이 선택되는지 확인합니다.
  7. 탭 전환 후 브라우저 뒤로가기/앞으로가기 시 탭 상태가 복원되는지 확인합니다.
  8. 큐레이션 상세와 시음회 상세에서 fixed 헤더 제목이 현재 데이터 제목으로 표시되는지 확인합니다.
  9. 홈 화면 featured 탭에서 시음회 탭 선택 시 compact 시음회 카드와 시음회 더보기 카드가 노출되는지 확인합니다.

셀프 체크리스트 (Self Checklist)

  • 로컬에서 정상 동작 확인
  • pnpm lint 통과
  • 불필요한 console.log 제거
  • 반응형/모바일 대응 확인 (UI 변경 시)

참고 사항 (Additional Information)

  • 전체 pnpm exec tsc --noEmit은 기존 src/api/auth/auth.api.test.tsResponse mock 타입 오류로 실패합니다. 이번 변경 범위인 home/curation/queries/style 경로에서는 타입 오류가 없는 것을 별도로 확인했습니다.
  • pnpm lint는 exit 0으로 통과하지만, 기존 파일들의 warning은 남아 있습니다.

@hyejj19 hyejj19 marked this pull request as ready for review July 5, 2026 08:32
@hyejj19 hyejj19 merged commit 9146f80 into main Jul 5, 2026
4 checks passed
@hyejj19 hyejj19 deleted the feature/curation-tab-planning branch July 5, 2026 08:32
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.

1 participant