Skip to content

feat/fix: 선수 이미지 추가, 피드 상세 개선, 홈 통계 고도화, 401 리프레시 수정 - #29

Merged
YangJJune merged 10 commits into
mainfrom
feat/landing-page
Apr 28, 2026
Merged

YangJJune merged 10 commits into
mainfrom
feat/landing-page

Conversation

@YangJJune

Copy link
Copy Markdown
Contributor

📝 PR Description

선수 사진 에셋 추가 및 이미지 경로를 playerId 기반으로 통일하고, FeedDetailPage에 이미지 캐러셀과 유튜브 임베드를 추가했습니다.
홈 화면의 타자/투수 통계 순위를 분리 표기하고 소수점 포맷팅을 적용했으며, 랜딩 페이지 팀 탭에 드래그 스크롤을 추가했습니다.
아울러 401 refresh 로직 버그와 API 타입 변경 사항을 반영했습니다.


🔧 Changes

인증 — 401 refresh 버그 수정 (src/api/axios.ts)

  • refreshToken 없을 때 accessToken 제거 누락 수정
  • window.location.href → router.navigate('/login?error=true', { replace: true }) 교체 (hard reload 제거)
  • 코드 포맷팅 정리 (타입 캐스팅 스타일, trailing comma)

API 타입 변경 대응

  • contents/types.ts — article_url → url 필드명 변경 (백엔드 응답 반영)
  • stats/types.ts — PlayerStatsSummary → BatterStatsSummary / PitcherStatsSummary 분리, 타자 4개 · 투수 9개 순위 필드 추가
  • feeds/queries.ts — cursor에서 = 제거 (Base64 padding 문자로 인한 쿼리스트링 파싱 오류 수정)

FeedDetailPage (src/pages/FeedDetailPage.tsx)

  • 단일 이미지 → 다중 이미지 캐러셀 (useGetContentImages 연동, 좌/우 화살표 + dot indicator)
  • content.url이 HTTP가 아닌 경우(유튜브 ID) <iframe> 임베드로 처리 (9:16 비율)
  • 댓글 없을 때 빈 상태 UI 표시 ("아직 작성된 댓글이 없어요!")

HomePage (src/pages/HomePage.tsx)

  • player_type에 따라 타자 / 투수 순위 배지 분리 표기
  • 소수점 포맷팅 — 타율·출루율·OPS: .toFixed(3), ERA·WHIP: .toFixed(2), 이닝: 1/3 이닝 표기 (9.1, 9.2)
  • playerId 기반 선수 이미지 연동
  • matchSummary.match?. 옵셔널 체이닝 적용 (undefined 런타임 에러 방어), inning 없을 때 배지 미표시

랜딩 / 선수 카드

  • LandingPage02.tsx — 팀 탭 영역 마우스/터치 드래그 스크롤 추가
  • Active.tsx / Default.tsx — 이미지 경로 playerName.png → playerId.jpg, 이미지 위치 정렬 (top: 20px → 0px)
  • HomePlayerCard.tsx — 이미지 경로에 undefined 포함 시 기본 이미지 폴백 처리
  • SearchPage.tsx — 선수 카드에 playerId prop 전달

에셋

  • src/assets/images/players/ 에 선수 사진 약 500장 추가 (.jpg, playerId 기준)

@YangJJune
YangJJune merged commit 8a6abc2 into main Apr 28, 2026
1 check passed
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