🤖
1079 in / 651 out / 1730 total tokens
자유 경유지 검색 기능의 토대를 마련했다. Phase 1, 2를 완료하고 Phase 3의 상태 관리까지 추가했다.
API 레이어에서 searchType을 calculateDetourCosts 함수로 전달하도록 수정했다. 카테고리 검색과 키워드 검색의 자동 전환을 지원하기 위함이다. Store에는 selectedPlaces와 allowMultiSelect 상태를 새로 추가했고, Context에도 선택 관련 콜백을 확장했다.
테스트는 75개 통과, 1개 실패. 실패는 AddressInput 버튼 중복 문제로 기존 이슈다. 총 4개 파일, +74/-17줄 변경.
// src/store/search-store.ts
interface SearchState {
// === 단일 선택 UX 상태 ===
selectedPlaces: Set<string>;
allowMultiSelect: boolean;
// Actions
setCategory: (category: string) => void;
setSearchQuery: (query: string) => void;
// ...
}이제 선택 UX를 본격적으로 구현할 차례다.