🕐 커밋 시간: 2025. 10. 31. 14:41:53
📊 변경 통계:
• 총 파일: 4개
• 추가: +257줄
• 삭제: -14줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/views/SearchPanel/VoiceInputOverlay/VoiceInputOverlay.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/VoiceInputOverlay/modes/VoiceListening.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/VoiceInputOverlay/modes/VoiceListening.module.less
~ com.twin.app.shoptime/src/views/SearchPanel/VoiceInputOverlay/modes/VoicePromptScreen.jsx
🔧 주요 변경 내용:
• 대규모 기능 개발
🕐 커밋 시간: 2025. 10. 31. 13:51:42
📊 변경 통계:
• 총 파일: 1개
• 추가: +8줄
• 삭제: -8줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/actions/productActions.js
🔧 주요 변경 내용:
• 핵심 비즈니스 로직 개선
• 코드 정리 및 최적화
Changed all console.log/warn statements in fetchAllReviewsWithSequentialPaging
function to use consistent [UserReviewPanel] prefix. This allows filtering
console output by component during development and debugging of the API-based
review filtering feature.
- 8 log statements updated with [UserReviewPanel] prefix
- Enables efficient console debugging for review pagination
- Maintains readability with existing emoji indicators
- Add fetchAllReviewsWithSequentialPaging function for TV app optimization
- Sequential page fetching to collect all reviews (memory-efficient)
- Pagination logic: continue while receivedCount >= pageSize AND totalCollected < totalReviews
- Automatically handles both ALL and filtered review requests
- Consolidates all pages into single Redux dispatch with complete data
Implementation details:
- pageSize = 100 (maximum) to minimize pagination rounds
- Checks rvwListCnt < pageSize OR totalCollected >= totRvwCnt to determine end
- Preserves reviewDetail from first page (totRvwCnt, totRvwAvg, etc)
- Properly combines all reviews from multiple pages
- Includes comprehensive logging for debugging pagination flow
TV app optimization:
- Sequential processing reduces memory footprint
- Minimizes server load with efficient page requests
- Single final Redux dispatch reduces state updates
- Error handling with detailed logging
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- Add patnrId to panelInfo in ShowUserReviews.jsx (required for API filtering)
- Dynamically generate filter buttons from IF-LGSP-100 API response
- Implement API-based filter handlers for RATING, KEYWORDS, and SENTIMENT
- Update filter button active states to use API currentReviewFilter
- Add currentReviewFilter prop to UserReviewsList for proper display
- Update review count display based on API filter state
- Include fallback UI for legacy filter display when API data unavailable
Fixes:
- patnrId was missing from panelInfo, causing API calls to fail with null parameters
- Added API-based filtering to all three filter types (RATING, KEYWORDS, SENTIMENT)
- Filter buttons now properly show active state based on currentReviewFilter
- Review counts display correctly whether filtered or showing ALL data
Implementation complete - API-based filtering now fully functional!
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
🕐 커밋 시간: 2025. 10. 31. 13:20:24
📊 변경 통계:
• 총 파일: 1개
• 추가: +2줄
• 삭제: -2줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/views/UserReview/components/FilterItemButton.module.less
🔧 주요 변경 내용:
• UI 컴포넌트 아키텍처 개선
• 코드 정리 및 최적화
- Import getUserReviewList action from productActions
- Update handleApiRatingFilter to dispatch getUserReviewList directly instead of loadReviews
- Remove loadReviews from Hook destructuring (not needed for filter handlers)
- Use proper Redux dispatch pattern for API calls with filter parameters
This ensures proper API routing when filter buttons are clicked.
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- Add GET_FILTERED_REVIEW_LIST action type for handling filtered API responses
- Create filteredReviewListData and currentReviewFilter in Redux state
- Implement handleFilteredReviewList reducer to manage filtered review state
- Add Redux selectors for filtered review data and active review data fallback
- Create activeReviewData useMemo that uses filtered data or falls back to ALL data
- Modify allReviews calculation to use activeReviewData for proper fallback logic
- Update getUserReviewList API handler to dispatch correct action based on filterTpCd
- Include filterTpCd/filterTpVal in payload for filtered requests tracking
- Modify UserReviewPanel to extract RATING filter data from IF-LGSP-100 API
- Implement API-based rating filter handlers (handleApiRatingFilter)
- Update filter button isActive logic to use currentReviewFilter instead of client-side state
- Add ratingFilterData useMemo to dynamically populate filter counts from API
- Update filter button display to use API-based counts with fallback to client-side counts
This implementation enables complete API-based filtering with proper state management
and automatic fallback to ALL data when filters are cleared.
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
🕐 커밋 시간: 2025. 10. 31. 12:38:53
📊 변경 통계:
• 총 파일: 7개
• 추가: +249줄
• 삭제: -27줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/actions/actionTypes.js
~ com.twin.app.shoptime/src/actions/productActions.js
~ com.twin.app.shoptime/src/api/apiConfig.js
~ com.twin.app.shoptime/src/hooks/useReviews/useReviews.js
~ com.twin.app.shoptime/src/reducers/productReducer.js
~ com.twin.app.shoptime/src/views/DetailPanel/ProductAllSection/ProductAllSection.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/SearchInputOverlay.jsx
🔧 주요 변경 내용:
• 타입 시스템 안정성 강화
• 핵심 비즈니스 로직 개선
• API 서비스 레이어 개선
• 대규모 기능 개발
• 모듈 구조 개선
🕐 커밋 시간: 2025. 10. 31. 10:44:59
📊 변경 통계:
• 총 파일: 1개
• 추가: +132줄
• 삭제: -4줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/views/SearchPanel/SearchPanel.new.v2.jsx
🔧 주요 변경 내용:
• 중간 규모 기능 개선
마이크 버튼의 포커스 관리 및 음성 오버레이 로직 개선
🕐 커밋 시간: 2025. 10. 30. $(date +%H:%M:%S)
📊 변경 통계:
• 총 파일: 1개
• 추가: +48줄
• 삭제: -5줄
📝 수정된 파일:
~ src/views/SearchPanel/SearchPanel.new.v2.jsx
🔧 주요 변경 내용:
• isMicFocusable 상태 추가로 마이크 버튼 포커스 가능 여부 관리
• onFocusMic 콜백 핸들러 구현 (500ms 디바운싱 로직 포함)
• 음성 오버레이 열기 로직을 재사용 가능한 openVoiceOverlay 함수로 추출
• SpottableMicButton 컴포넌트의 onFocus 이벤트 핸들러 활성화 (이전에는 주석 처리됨)
• 언마운트 시 마이크 포커스 타이머 정리 로직 추가
🕐 커밋 시간: 2025. 10. 30. 03:30:00
📊 변경 통계:
• 총 파일: 2개
• 추가: +70줄
• 삭제: -10줄
📁 수정된 파일:
~ src/services/voice/VoiceRecognitionManager.js
~ src/views/SearchPanel/VoiceInputOverlay/VoiceInputOverlay.jsx
🔧 주요 변경 내용:
• CURRENT_WEBSPEECH_VERSION = 'v1'로 설정
• VoiceInputOverlay의 handleWebSpeechMicClick을 V1/V2로 조건부 분리
• V1 블록: 기존 Redux dispatch 방식 유지 (현재 활성화)
• V2 블록: 별도 격리 (미래 Promise 기반 구현 준비)
• 현재 기능 100% 보호됨 (V2 코드는 절대 실행 안 됨)
• 디버그 로그 추가 (CURRENT_WEBSPEECH_VERSION 표시)
• dependency array에 CURRENT_WEBSPEECH_VERSION 추가
🕐 커밋 시간: 2025. 10. 30. 10:05:16
📊 변경 통계:
• 총 파일: 7개
• 추가: +74줄
• 삭제: -23줄
📁 추가된 파일:
+ com.twin.app.shoptime/src/hooks/useWebSpeechManager.js
+ com.twin.app.shoptime/src/services/voice/VoiceRecognitionManager.js
+ com.twin.app.shoptime/src/services/webSpeech/WebSpeechServiceAsync.js
+ com.twin.app.shoptime/src/views/SearchPanel/VoiceInputOverlay/ApiStatusDisplay.jsx
+ com.twin.app.shoptime/src/views/SearchPanel/VoiceInputOverlay/ApiStatusDisplay.module.less
📝 수정된 파일:
~ com.twin.app.shoptime/.gitignore
~ com.twin.app.shoptime/src/views/SearchPanel/VoiceInputOverlay/VoiceInputOverlay.jsx
🔧 주요 변경 내용:
• 핵심 비즈니스 로직 개선
• API 서비스 레이어 개선
• 소규모 기능 개선
• 모듈 구조 개선
🕐 커밋 시간: 2025. 10. 30. 07:12:09
📊 변경 통계:
• 총 파일: 3개
• 추가: +72줄
• 삭제: -54줄
📝 수정된 파일:
~ com.twin.app.shoptime/.gitignore
~ com.twin.app.shoptime/src/hooks/useReviews/useReviews.js
~ com.twin.app.shoptime/src/views/SearchPanel/VoiceInputOverlay/VoiceInputOverlay.jsx
🔧 주요 변경 내용:
• 핵심 비즈니스 로직 개선
• 소규모 기능 개선
• 코드 정리 및 최적화
🕐 커밋 시간: 2025. 10. 29. 17:02:12
📊 변경 통계:
• 총 파일: 4개
• 추가: +120줄
• 삭제: -263줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/actions/productActions.js
~ com.twin.app.shoptime/src/actions/searchActions.js
~ com.twin.app.shoptime/src/hooks/useReviews/useReviews.js
~ com.twin.app.shoptime/src/reducers/productReducer.js
🔧 주요 변경 내용:
• 핵심 비즈니스 로직 개선
• 중간 규모 기능 개선
• 코드 정리 및 최적화
Performance: 코드 최적화로 성능 개선 기대
🕐 커밋 시간: 2025. 10. 29. 15:24:15
📊 변경 통계:
• 총 파일: 9개
• 추가: +409줄
• 삭제: -97줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/actions/actionTypes.js
~ com.twin.app.shoptime/src/actions/productActions.js
~ com.twin.app.shoptime/src/actions/searchActions.js
~ com.twin.app.shoptime/src/hooks/useReviews/useReviews.js
~ com.twin.app.shoptime/src/reducers/productReducer.js
~ com.twin.app.shoptime/src/views/DetailPanel/ProductAllSection/ProductAllSection.jsx
~ com.twin.app.shoptime/src/views/DetailPanel/ProductContentSection/UserReviews/UserReviews.jsx
~ com.twin.app.shoptime/src/views/UserReview/ShowUserReviews.jsx
~ com.twin.app.shoptime/src/views/UserReview/UserReviewPanel.jsx
🔧 주요 변경 내용:
• 타입 시스템 안정성 강화
• 핵심 비즈니스 로직 개선
• 대규모 기능 개발
• 모듈 구조 개선