🕐 커밋 시간: 2025. 11. 04. 16:43:02
📊 변경 통계:
• 총 파일: 1개
• 추가: +5줄
• 삭제: -15줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/views/DetailPanel/ProductAllSection/ProductAllSection.jsx
🔧 주요 변경 내용:
• 코드 정리 및 최적화
Performance: 코드 최적화로 성능 개선 기대
handleClearReviewFilter에서 curry를 제거하고 단계별 상태 업데이트로 변경하여
코드 안정성과 가독성을 향상시켰습니다.
**변경:**
- curry 함수 제거 (복잡도 감소)
- 단계별 state 업데이트로 변경 (명확성 증대)
- 각 초기화 단계마다 주석 추가 (유지보수성 향상)
**초기화 대상:**
1. loadedListPrdtId = null (캐시 ID 초기화)
2. reviewListData = null (전체 리뷰 데이터 초기화)
3. currentReviewFilter = null (활성 필터 초기화)
4. filteredReviewListData = null (필터 결과 초기화)
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
UserReviewPanel에서 Back/ESC할 때 리뷰 데이터도 함께 초기화하여
처음 UserReviewList를 받는 상태로 초기화합니다.
**문제:**
- UserReviewPanel에서 필터 적용 후 Back
- 필터는 초기화되지만 reviewListData 캐시가 남아있음
- loadedListPrdtId도 유지되어 재로드 트리거 안 됨
- 불완전한 캐시 상태 → 간헐적 오류 발생
**해결:**
CLEAR_REVIEW_FILTER 액션에서 다음을 모두 초기화:
1. currentReviewFilter = null (활성 필터)
2. filteredReviewListData = null (필터 결과 리뷰)
3. reviewListData = null (전체 리뷰 데이터)
4. loadedListPrdtId = null (로드 캐시 ID)
**결과:**
- Back 후 DetailPanel로 돌아가면 처음 상태로 초기화
- useReviews에서 loadedListPrdtId !== prdtId 조건 만족
- 새로운 리뷰 데이터를 다시 로드하게 됨
- 간헐적 오류 제거
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
필터링된 리뷰 데이터가 상품 변경 후에도 유지되는 문제를 해결했습니다.
**문제:**
1. 상품 A에서 필터(5 star) 적용 후 Back
2. 상품 B로 이동 시 상품 A의 필터링된 리뷰 데이터가 계속 표시됨
3. 리뷰가 없는 상품은 [Show User Reviews] 버튼이 안 보임
4. 리뷰가 있는 상품도 필터 미적용 전까지 이전 리뷰가 노출됨
**근본 원인:**
- Redux의 filteredReviewListData와 currentReviewFilter가 상품 변경 후에도 유지됨
- useReviews 훅이 새로운 상품 로드는 하지만 필터는 초기화하지 않음
**해결책:**
1. useReviews 훅: prdtId 변경 시 자동으로 clearReviewFilter() dispatch
2. ProductAllSection: productData.prdtId 변경 시 필터 초기화
3. UserReviewPanel: Back 버튼 클릭 시 Redux 필터 명시적 초기화
**수정 파일:**
- src/hooks/useReviews/useReviews.js (필터 초기화 로직 추가)
- src/views/DetailPanel/ProductAllSection/ProductAllSection.jsx (상품 변경 감지)
- src/views/UserReview/UserReviewPanel.jsx (Back 버튼에서 필터 초기화)
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
🕐 커밋 시간: 2025. 11. 04. 14:57:50
📊 변경 통계:
• 총 파일: 1개
• 추가: +48줄
• 삭제: -10줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/views/SearchPanel/SearchResults.new.v2.jsx
🔧 주요 변경 내용:
• 소규모 기능 개선
데이터 일관성 문제 해결:
- API가 불완전한 응답을 주는 경우, 리뷰 관련 UI(버튼, 미리보기, ShowUserReviews)를 모두 숨김
- 미리보기만 표시되고 버튼이 없는 상황 방지로 프론트엔드 버그 오인 방지
- isReviewDataComplete 검증 로직 추가: hasReviews && previewReviews && stats.totalReviews 모두 확인
- ProductAllSection.jsx
데이터 일관성 문제 해결:
- API가 불완전한 응답을 주는 경우, 리뷰 관련 UI(버튼, 미리보기, ShowUserReviews)를 모두 숨김
- 미리보기만 표시되고 버튼이 없는 상황 방지로 프론트엔드 버그 오인 방지
- isReviewDataComplete 검증 로직 추가: hasReviews && previewReviews && stats.totalReviews 모두 확인
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
🕐 커밋 시간: 2025. 11. 04. 13:15:26
📊 변경 통계:
• 총 파일: 2개
• 추가: +110줄
• 삭제: -59줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/reducers/panelReducer.js
~ com.twin.app.shoptime/src/views/DetailPanel/components/BuyOption.jsx
🔧 주요 변경 내용:
• 핵심 비즈니스 로직 개선
• UI 컴포넌트 아키텍처 개선
• 중간 규모 기능 개선
• 코드 정리 및 최적화
🕐 커밋 시간: 2025. 11. 04. 12:27:44
📊 변경 통계:
• 총 파일: 7개
• 추가: +155줄
• 삭제: -43줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/views/CheckOutPanel/CheckOutPanel.jsx
~ com.twin.app.shoptime/src/views/DetailPanel/ProductAllSection/ProductAllSection.jsx
~ com.twin.app.shoptime/src/views/DetailPanel/components/BuyOption.jsx
~ com.twin.app.shoptime/src/views/UserReview/UserReviewPanel.jsx
~ com.twin.app.shoptime/src/views/UserReview/components/FilterItemButton.module.less
~ com.twin.app.shoptime/src/views/UserReview/components/UserReviewItem.jsx
~ com.twin.app.shoptime/src/views/UserReview/components/UserReviewsList.jsx
🔧 주요 변경 내용:
• UI 컴포넌트 아키텍처 개선
• 중간 규모 기능 개선
• 모듈 구조 개선
🕐 커밋 시간: 2025. 11. 04. 09:33:23
📊 변경 통계:
• 총 파일: 4개
• 추가: +34줄
• 삭제: -7줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/actions/actionTypes.js
~ com.twin.app.shoptime/src/actions/productActions.js
~ com.twin.app.shoptime/src/reducers/productReducer.js
~ com.twin.app.shoptime/src/views/UserReview/UserReviewPanel.jsx
🔧 주요 변경 내용:
• 타입 시스템 안정성 강화
• 핵심 비즈니스 로직 개선
• 소규모 기능 개선
🕐 커밋 시간: 2025. 11. 04. 09:19:26
📊 변경 통계:
• 총 파일: 2개
• 추가: +30줄
• 삭제: -40줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/views/SearchPanel/SearchResults.new.v2.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/SearchResults.new.v2.module.less
🔧 주요 변경 내용:
• 소규모 기능 개선
• 코드 정리 및 최적화
Performance: 코드 최적화로 성능 개선 기대
SORTING_TYPE_MAP을 고객 요구사항에 맞게 새로 정의:
- Price(highest): 가격 높은순
- Price(lowest): 가격 낮은순
- Top Review Rate: 리뷰 평점 높은순
- Most Reviewed: 인기순 (rankInfo 기준)
- Newest Arrivals: 기본 순서 유지
filterOptions 업데이트:
- 첫번째: API sortingType (동적, 대부분 'LG Recommended')
- 나머지: SORTING_TYPE_MAP 정의대로 5개 옵션
sortItems() 함수 리팩토링:
- 문자열 기반 switch → 숫자 인덱스 기반 switch (0~4)
- 각 정렬 타입별 로직 명확히 구현
- 가격 정렬 (숫자 파싱), 평점 정렬, 인기순 정렬 완료
🕐 커밋 시간: 2025. 11. 03. 21:02:13
📊 변경 통계:
• 총 파일: 5개
• 추가: +54줄
• 삭제: -5줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/actions/playActions.js
~ com.twin.app.shoptime/src/components/MediaPlayer/MediaKnob.js
~ com.twin.app.shoptime/src/components/MediaPlayer/MediaSlider.js
~ com.twin.app.shoptime/src/views/DetailPanel/ProductContentSection/ProductVideo/ProductVideo.v2.jsx
~ com.twin.app.shoptime/src/views/HomePanel/HomeBanner/HomeBanner.jsx
🔧 주요 변경 내용:
• 핵심 비즈니스 로직 개선
• UI 컴포넌트 아키텍처 개선
• 소규모 기능 개선
🕐 커밋 시간: 2025. 11. 03. 20:46:25
📊 변경 통계:
• 총 파일: 1개
• 추가: +19줄
• 삭제: -32줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/actions/productActions.js
🔧 주요 변경 내용:
• 핵심 비즈니스 로직 개선
• 코드 정리 및 최적화
Performance: 코드 최적화로 성능 개선 기대
🕐 커밋 시간: 2025. 11. 03. 20:20:01
📊 변경 통계:
• 총 파일: 7개
• 추가: +119줄
• 삭제: -61줄
📁 추가된 파일:
+ com.twin.app.shoptime/src/views/SearchPanel/components/MyDropdownComponent.jsx
📝 수정된 파일:
~ com.twin.app.shoptime/src/views/ErrorBoundary.js
~ com.twin.app.shoptime/src/views/SearchPanel/SearchResults.new.v2.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/SearchResults.new.v2.module.less
~ com.twin.app.shoptime/src/views/SearchPanel/VoiceInputOverlay/VoiceInputOverlay.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/components/TDropDown/TDropDown.jsx
🗑️ 삭제된 파일:
- com.twin.app.shoptime/src/views/SearchPanel/components/TestDropDown/TestDropDown.jsx
🔧 주요 변경 내용:
• 오류 처리 로직 개선
• UI 컴포넌트 아키텍처 개선
• 중간 규모 기능 개선
• 코드 정리 및 최적화
• 모듈 구조 개선
🕐 커밋 시간: 2025. 11. 03. 18:18:30
📊 변경 통계:
• 총 파일: 5개
• 추가: +128줄
• 삭제: -28줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/components/TDropDown/TDropDown.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/SearchResults.new.v2.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/SearchResults.new.v2.module.less
~ com.twin.app.shoptime/src/views/SearchPanel/components/TDropDown/TDropDown.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/components/TestDropDown/TestDropDown.jsx
🔧 주요 변경 내용:
• UI 컴포넌트 아키텍처 개선
• 중간 규모 기능 개선
- 원본 TDropDown에 onChange/onSelect 이벤트 처리 추가
- 로컬 TDropDown(SearchPanel) 생성 및 Spotlight 지원 구현
- width="small" 스타일 및 spotlightId prop 지원 추가
- SearchResults.new.v2.jsx에서 로컬 TDropDown 사용 설정
- sortItems 함수 및 필터 선택 핸들러 연결
이전 필터링 이벤트가 제대로 처리되지 않는 문제를 해결했습니다.
Enact Dropdown의 onChange/onSelect 이벤트를 모두 처리하여
필터링 기능이 정상 작동하도록 수정했습니다.
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
🕐 커밋 시간: 2025. 11. 03. 15:17:14
Add dynamic sorting tab functionality that displays API-provided sortingType as the first tab option, with 5 additional client-side sorting methods.
Key changes:
- formatSortingTypeLabel: Converts API sortingType strings to readable labels (e.g. LG_RECOMMENDED -> Lg Recommended)
- filterOptions: Dynamically creates sort options array with API sortingType as first item
- filterMethods: Extracts UI labels from filterOptions
- sortItems: Added 'api' case to preserve original sort order
- convertedShopperHouseItemsSorted: Uses filterOptions to determine sort type
- useEffect: Resets sorting tab to default when new search performed
Original shopperHouseData is preserved; only client-side sorting applied with no additional API calls. Supports any sortingType value received from API.
📊 변경 통계:
• 총 파일: 2개
• 추가: +163줄
• 삭제: -10줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/actions/searchActions.js
~ com.twin.app.shoptime/src/views/SearchPanel/SearchResults.new.v2.jsx
🔧 주요 변경 내용:
• 핵심 비즈니스 로직 개선
• 중간 규모 기능 개선
🕐 커밋 시간: 2025. 11. 03. 14:40:18
📊 변경 통계:
• 총 파일: 4개
• 추가: +105줄
• 삭제: -4줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/actions/panelNavigationActions.js
~ com.twin.app.shoptime/src/actions/playActions.js
~ com.twin.app.shoptime/src/utils/Config.js
~ com.twin.app.shoptime/src/views/HomePanel/HomeBanner/RandomBannerType/JustForYouBanner.jsx
🔧 주요 변경 내용:
• 핵심 비즈니스 로직 개선
• 공통 유틸리티 함수 최적화
• 타입 시스템 안정성 강화
• 중간 규모 기능 개선
🕐 커밋 시간: 2025. 11. 03. 13:57:14
📊 변경 통계:
• 총 파일: 3개
• 추가: +5줄
• 삭제: -53줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/actions/playActions.js
~ com.twin.app.shoptime/src/views/HomePanel/HomeBanner/HomeBanner.jsx
~ com.twin.app.shoptime/src/views/HomePanel/HomeBanner/RandomBannerType/JustForYouBanner.jsx
🔧 주요 변경 내용:
• 핵심 비즈니스 로직 개선
• 타입 시스템 안정성 강화
• 코드 정리 및 최적화
Performance: 코드 최적화로 성능 개선 기대
🕐 커밋 시간: 2025. 11. 03. 10:10:17
📊 변경 통계:
• 총 파일: 2개
• 추가: +62줄
📁 추가된 파일:
+ code/
📝 수정된 파일:
~ com.twin.app.shoptime/src/views/CheckOutPanel/components/PinCodeInput.jsx
🔧 주요 변경 내용:
• UI 컴포넌트 아키텍처 개선
• 소규모 기능 개선
🕐 커밋 시간: 2025. 11. 02. 21:09:53
📊 변경 통계:
• 총 파일: 1개
• 추가: +8줄
• 삭제: -6줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/views/SearchPanel/VoiceInputOverlay/VoiceInputOverlay.jsx
🔧 주요 변경 내용:
• 코드 정리 및 최적화
🕐 커밋 시간: 2025. 11. 02. 12:58:36
📊 변경 통계:
• 총 파일: 6개
• 추가: +409줄
• 삭제: -153줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/views/CartPanel/CartPanel.jsx
~ com.twin.app.shoptime/src/views/CartPanel/CartSidebar.jsx
~ com.twin.app.shoptime/src/views/CheckOutPanel/CheckOutPanel.jsx
~ com.twin.app.shoptime/src/views/CheckOutPanel/container/InformationContainerMock.jsx
~ com.twin.app.shoptime/src/views/CheckOutPanel/container/OrderItemsSideBar.jsx
~ com.twin.app.shoptime/src/views/CheckOutPanel/container/SummaryContainerMock.jsx
🔧 주요 변경 내용:
• 대규모 기능 개발
• 모듈 구조 개선
🕐 커밋 시간: 2025. 11. 02. 11:19:39
📊 변경 통계:
• 총 파일: 5개
• 추가: +215줄
• 삭제: -84줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/reducers/mockCartReducer.js
~ com.twin.app.shoptime/src/utils/BuyNowDataManipulator.js
~ com.twin.app.shoptime/src/views/CartPanel/CartPanel.jsx
~ com.twin.app.shoptime/src/views/CartPanel/CartProduct.jsx
~ com.twin.app.shoptime/src/views/CartPanel/CartSidebar.jsx
🔧 주요 변경 내용:
• 핵심 비즈니스 로직 개선
• 공통 유틸리티 함수 최적화
• 대규모 기능 개발