[251103] fix: shopperHouse API오류처리 및 fallback Data표시 개선

🕐 커밋 시간: 2025. 11. 03. 12:25:18

📊 변경 통계:
  • 총 파일: 9개
  • 추가: +315줄
  • 삭제: -26줄

📁 추가된 파일:
  + code/

📝 수정된 파일:
  ~ 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/SearchResults.new.v2.module.less
  ~ com.twin.app.shoptime/src/views/SearchPanel/VoiceInputOverlay/VoiceInputOverlay.jsx
  ~ com.twin.app.shoptime/src/views/SearchPanel/VoiceInputOverlay/modes/VoiceResponse.jsx

🔧 함수 변경 내용:
  📄 com.twin.app.shoptime/src/views/SearchPanel/VoiceInputOverlay/VoiceInputOverlay.jsx (javascript):
    🔄 Modified: clearAllTimers()
  📄 com.twin.app.shoptime/src/views/SearchPanel/VoiceInputOverlay/modes/VoiceResponse.jsx (javascript):
     Added: VoiceResponse()
    🔄 Modified: SpotlightContainerDecorator()

🔧 주요 변경 내용:
  • 타입 시스템 안정성 강화
  • 핵심 비즈니스 로직 개선
This commit is contained in:
2025-11-03 12:25:18 +09:00
parent 1bbe60a801
commit e661a18458
9 changed files with 546 additions and 293 deletions

View File

@@ -16,7 +16,15 @@ const initialState = {
popularBrands: [],
hotPicksForYou: [],
},
shopperHouseError: null, // ShopperHouse API 오류 정보 저장
shopperHouseError: null, // ShopperHouse API 오류 정보 저장 (디버깅용)
shopperHouseErrorPopup: {
// ShopperHouse 에러 팝업 상태 (사용자 알림용)
message: null,
type: null, // 'API_FAILURE', 'NO_RESULTS', etc.
visible: false,
timestamp: null,
originalError: null,
},
// 🎯 [Phase 1] SearchPanel 모드 제어 명령
panelCommand: {
@@ -161,6 +169,32 @@ export const searchReducer = (state = initialState, action) => {
shopperHouseSearchId: null,
};
case types.SHOW_SHOPPERHOUSE_ERROR:
console.log('[ShopperHouse] 🔴 Redux shopperHouseErrorPopup 표시:', action.payload);
return {
...state,
shopperHouseErrorPopup: {
message: action.payload.message,
type: action.payload.type,
visible: action.payload.visible,
timestamp: action.payload.timestamp,
originalError: action.payload.originalError,
},
};
case types.HIDE_SHOPPERHOUSE_ERROR:
console.log('[ShopperHouse] ✅ Redux shopperHouseErrorPopup 숨김');
return {
...state,
shopperHouseErrorPopup: {
message: null,
type: null,
visible: false,
timestamp: null,
originalError: null,
},
};
case types.CLEAR_SHOPPERHOUSE_DATA:
console.log('[DEBUG] 🧹 Redux shopperHouseData 초기화 호출 - 호출 스택 추적:');
console.log(