[251031] fix: resolve merge conflicts in voice input overlay and search components

This commit is contained in:
2025-10-31 10:19:40 +09:00
parent 7912d0f1b3
commit 0b1d435e62
6 changed files with 311 additions and 20 deletions

View File

@@ -39,6 +39,8 @@ import {
getShopperHouseSearch,
resetSearch,
resetVoiceSearch,
clearPanelCommand,
transitionToSearchInputOverlay,
} from '../../actions/searchActions';
// import {
// showErrorToast,
@@ -1045,6 +1047,25 @@ export default function SearchPanel({ panelInfo, isOnTop, spotlightId }) {
}
}, [analyzeCurrentScenario, panelInfo?.currentSpot, shopperHouseData, DEBUG_MODE, isReturningFromDetailPanel, currentPanel, currentIsOnTop, isOnTopChange]);
/**
* 🎯 [Phase 2] VoiceInputOverlay → SearchInputOverlay 전환 콜백
* VoiceInputOverlay의 TInputSimple에서 Enter/마우스 클릭 시 호출
*/
const handleTransitionToSearchInput = useCallback(() => {
if (DEBUG_MODE) {
console.log('[SearchPanel] 🔄 handleTransitionToSearchInput 호출');
}
// Redux Thunk 액션으로 모든 전환 로직 처리
dispatch(
transitionToSearchInputOverlay({
setIsVoiceOverlayVisible,
setIsSearchOverlayVisible,
Spotlight,
})
);
}, [DEBUG_MODE, dispatch]);
/**
* Search overlay close handler
*/
@@ -1067,6 +1088,7 @@ export default function SearchPanel({ panelInfo, isOnTop, spotlightId }) {
}
}, [DEBUG_MODE, searchDatas, searchPerformed]);
/**
* Voice overlay close handler
*/
@@ -1946,7 +1968,7 @@ export default function SearchPanel({ panelInfo, isOnTop, spotlightId }) {
{/* ✨ [Phase 3] Virtual Keyboard - 현재 비활성화됨 (VirtualKeyboardContainer 미사용) */}
{/* ✨ [Phase 1] Voice Input Overlay - currentMode로 visibility 제어 */}
{/* ✨ [Phase 2] Voice Input Overlay - 전환 콜백 추가 */}
<VoiceInputOverlay
isVisible={isVoiceOverlayVisible}
onClose={handleVoiceOverlayClose}
@@ -1955,12 +1977,13 @@ export default function SearchPanel({ panelInfo, isOnTop, spotlightId }) {
searchQuery={searchQuery}
onSearchChange={handleSearchChange}
onSearchSubmit={handleSearchSubmit}
onTransitionToSearchInput={handleTransitionToSearchInput}
isVoiceResultMode={currentMode === SEARCH_PANEL_MODES.VOICE_RESULT}
externalResponseText={voiceOverlayResponseText}
isExternalBubbleSearch={isVoiceOverlayBubbleSearch}
/>
{/* ✨ [Phase 1] Search Input Overlay - currentMode로 visibility 제어 */}
{/* ✨ [Phase 2] Search Input Overlay - isVisible 감지로 전환 자동 감지 */}
<SearchInputOverlay
isVisible={isSearchOverlayVisible}
onClose={handleSearchOverlayClose}