🕐 커밋 시간: 2025. 11. 26. 14:16:12
📊 변경 통계:
• 총 파일: 4개
• 추가: +51줄
• 삭제: -81줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/App/App.js
~ com.twin.app.shoptime/src/actions/commonActions.js
~ com.twin.app.shoptime/src/api/TAxios.js
~ com.twin.app.shoptime/src/views/SearchPanel/SearchPanel.new.v2.jsx
🔧 주요 변경 내용:
• 핵심 비즈니스 로직 개선
• API 서비스 레이어 개선
• 소규모 기능 개선
• 코드 정리 및 최적화
Performance: 코드 최적화로 성능 개선 기대
## 문제 상황
VoiceInputOverlay에서 listening 모드로 음성 인식 후 새로운 데이터가 도착할 때,
VoiceInputOverlay의 포커스 복원 로직과 SearchPanel의 통합 포커스 로직이 충돌하여
첫 번째 아이템으로 포커스가 이동하지 않는 문제 발생
## 해결 방법
### 1. VoiceInputOverlay - 명시적 데이터 확인 추가
- shopperHouseData prop 추가
- 포커스 복원 로직에서 음성 검색 결과 데이터 유무를 명시적으로 확인
- 데이터가 있으면 포커스 복원하지 않고 SearchPanel에 위임
### 2. SearchPanel - 우선순위 시나리오 타이밍 단축
- NEW_SEARCH_LOADED 시나리오의 포커스 타이밍을 100ms → 50ms로 단축
- VoiceInputOverlay의 포커스 복원(100ms)보다 먼저 실행되어 우선권 확보
- 타이밍 이슈로 인한 경쟁 상태(Race Condition) 방지
## 변경 파일
- VoiceInputOverlay.jsx: shopperHouseData prop 추가 및 포커스 복원 조건 개선
- SearchPanel.new.v2.jsx: shopperHouseData prop 전달 및 포커스 타이밍 최적화
## 테스트 시나리오
1. 음성 검색 실행 (listening 모드)
2. 음성 인식 완료 및 API 응답 수신
3. VoiceInputOverlay 닫힘
4. ✅ 첫 번째 검색 결과 아이템으로 포커스 이동 확인
🕐 커밋 시간: 2025. 11. 05. 11:00:46
📊 변경 통계:
• 총 파일: 2개
• 추가: +29줄
• 삭제: -5줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/views/SearchPanel/SearchPanel.new.v2.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/VoiceInputOverlay/VoiceInputOverlay.v2.jsx
🔧 주요 변경 내용:
• 소규모 기능 개선
🕐 커밋 시간: 2025. 11. 04. 19:09:24
📊 변경 통계:
• 총 파일: 6개
• 추가: +89줄
• 삭제: -29줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/actions/actionTypes.js
~ com.twin.app.shoptime/src/actions/searchActions.js
~ com.twin.app.shoptime/src/reducers/searchReducer.js
~ com.twin.app.shoptime/src/views/SearchPanel/SearchPanel.new.v2.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/SearchResults.new.v2.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/VoiceInputOverlay/VoiceInputOverlay.jsx
🔧 주요 변경 내용:
• 타입 시스템 안정성 강화
• 핵심 비즈니스 로직 개선
• 소규모 기능 개선
• 모듈 구조 개선
🕐 커밋 시간: 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. 28. 19:47:39
📊 변경 통계:
• 총 파일: 6개
• 추가: +142줄
• 삭제: -38줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/actions/searchActions.js
~ com.twin.app.shoptime/src/views/SearchPanel/HowAboutThese/HowAboutThese.response.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/HowAboutThese/HowAboutThese.response.module.less
~ com.twin.app.shoptime/src/views/SearchPanel/SearchPanel.new.v2.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/SearchResults.new.v2.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/SearchResults.new.v2.module.less
🔧 주요 변경 내용:
• 핵심 비즈니스 로직 개선
• 중간 규모 기능 개선
• 모듈 구조 개선
🕐 커밋 시간: 2025. 10. 26. 14:59:46
📊 변경 통계:
• 총 파일: 4개
• 추가: +191줄
• 삭제: -7줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/App/App.js
~ com.twin.app.shoptime/src/utils/Config.js
~ com.twin.app.shoptime/src/views/SearchPanel/SearchPanel.new.v2.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/SearchResults.new.v2.jsx
🔧 주요 변경 내용:
• 핵심 비즈니스 로직 개선
• 공통 유틸리티 함수 최적화
• 중간 규모 기능 개선
🕐 커밋 시간: 2025. 10. 26. 13:48:01
📊 변경 통계:
• 총 파일: 3개
• 추가: +34줄
• 삭제: -1줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/views/SearchPanel/HowAboutThese/HowAboutThese.small.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/SearchPanel.new.v2.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/SearchResults.new.v2.jsx
🔧 주요 변경 내용:
• 소규모 기능 개선
🕐 커밋 시간: 2025. 10. 25. 23:01:28
📊 변경 통계:
• 총 파일: 1개
• 추가: +33줄
• 삭제: -8줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/views/SearchPanel/SearchPanel.new.v2.jsx
🔧 주요 변경 내용:
• 소규모 기능 개선
🕐 커밋 시간: 2025. 10. 25. 10:52:35
Implement proper focus restoration when returning from DetailPanel to SearchPanel. Added usePanelHistory-based detection for panel transitions and enhanced isOnTop calculation using MainView's panel stack logic. Created panelUtils utility functions for accurate panel state management and improved spotlight ID handling in ItemCard component for better focus tracking across panel navigation.
📊 변경 통계:
• 총 파일: 7개
• 추가: +307줄
• 삭제: -61줄
📁 추가된 파일:
+ com.twin.app.shoptime/src/utils/panelUtils.js
📝 수정된 파일:
~ com.twin.app.shoptime/src/actions/panelHistoryActions.js
~ com.twin.app.shoptime/src/hooks/usePanelHistory/usePanelHistory.js
~ com.twin.app.shoptime/src/middleware/panelHistoryMiddleware.js
~ com.twin.app.shoptime/src/reducers/panelHistoryReducer.js
~ com.twin.app.shoptime/src/views/SearchPanel/SearchPanel.new.v2.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/SearchResultsNew/ItemCard.jsx
🔧 주요 변경 내용:
• 핵심 비즈니스 로직 개선
• 공통 유틸리티 함수 최적화
• 대규모 기능 개발
• 모듈 구조 개선
🕐 커밋 시간: 2025. 10. 24. 21:16:53
📊 변경 통계:
• 총 파일: 2개
• 추가: +76줄
• 삭제: -21줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/views/SearchPanel/SearchPanel.new.v2.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/SearchResults.new.v2.jsx
🔧 주요 변경 내용:
• 소규모 기능 개선
🕐 커밋 시간: 2025. 10. 24. 10:51:08
📊 변경 통계:
• 총 파일: 7개
• 추가: +146줄
• 삭제: -52줄
📁 추가된 파일:
+ com.twin.app.shoptime/src/hooks/useSearchHistory.js
+ com.twin.app.shoptime/src/utils/searchHistory.js
📝 수정된 파일:
~ com.twin.app.shoptime/src/views/SearchPanel/SearchInputOverlay.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/SearchPanel.new.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/SearchPanel.new.v2.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/VoiceInputOverlay/VoiceInputOverlay.jsx
🔧 주요 변경 내용:
• 핵심 비즈니스 로직 개선
• 공통 유틸리티 함수 최적화
• 중간 규모 기능 개선
• 모듈 구조 개선
🕐 커밋 시간: 2025. 10. 24. 10:15:20
📊 변경 통계:
• 총 파일: 2개
• 추가: +4줄
• 삭제: -15줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/views/SearchPanel/SearchInpuOverlay.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/SearchPanel.new.v2.jsx
🔧 주요 변경 내용:
• 코드 정리 및 최적화
Performance: 코드 최적화로 성능 개선 기대
🕐 커밋 시간: 2025. 10. 24. 09:51:08
📊 변경 통계:
• 총 파일: 4개
• 추가: +357줄
• 삭제: -145줄
📝 수정된 파일:
~ com.twin.app.shoptime/.gitignore
~ com.twin.app.shoptime/src/views/SearchPanel/SearchPanel.new.v2.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/SearchResults.new.v2.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/TInput/TInputSimple.jsx
🔧 주요 변경 내용:
• 대규모 기능 개발
🕐 커밋 시간: 2025. 10. 23. 20:45:59
📊 변경 통계:
• 총 파일: 3개
• 추가: +71줄
• 삭제: -6줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/reducers/searchReducer.js
~ com.twin.app.shoptime/src/views/SearchPanel/SearchPanel.new.v2.jsx
~ com.twin.app.shoptime/src/views/SearchPanel/VoiceInputOverlay/VoiceInputOverlay.jsx
🔧 함수 변경 내용:
📄 com.twin.app.shoptime/src/views/SearchPanel/VoiceInputOverlay/VoiceInputOverlay.jsx (javascript):
🔄 Modified: clearAllTimers()
🔧 주요 변경 내용:
• 핵심 비즈니스 로직 개선
🕐 커밋 시간: 2025. 10. 23. 16:23:57
📊 변경 통계:
• 총 파일: 1개
• 추가: +69줄
• 삭제: -16줄
📝 수정된 파일:
~ com.twin.app.shoptime/src/views/SearchPanel/SearchPanel.new.v2.jsx
🔧 주요 변경 내용:
• 소규모 기능 개선