핵심 요약
여기어때는 검색 홈 모듈을 GCSearchHome/GCSearchResult로 분리하고 SwiftUI 전환과 탭 구조 개선, 중간 페이지 건너뛰기 전환(PageTransitionView) 도입으로 독립성과 UX를 개선했습니다.
구현 방법
- GCSearch를 홈/결과로 분리하고 탭 도메인 독립화
- SwiftUI 전환과 공용 UI 컴포넌트 도입
- Domestic/Overseas/AirLine/Ticket 탭과 TabInfoAppModel 프로토콜 구성
- Converter(DomesticSearchConverter 등)로 데이터 변환 책임 분리
- 단방향 흐름 유지: Action/Reducer 구조 고수
- PageTransitionView 도입: 페이지 배열, currentIndex/targetIndex, 슬라이드+페이드 애니메이션, onChangeAnimating/onChangePage
- 중간 페이지 건너뛰기 로직: computeX/computeOpacity로 두 페이지만 보여주기
주요 결과
- 독립 빌드 및 탭 확장 용이
- Converter로 데이터 변환 단순화 및 테스트 용이
- 디버깅 편의성 증가
- UX 측면에서 매끄러운 전환으로 탐색 개선