Refactor Airport Selector & Implement Search Validations
- Refactored Airport Selector to use Core/View pattern.
- Removed AirportSelector wrapper; FlightSearchView now composes Core/View directly.
- Implemented Flight Search validations (Empty selection, Same Origin/Dest search).
- Implemented Passenger count validations (Max 9, Infant <= Adult).
- Added ValidationToast component for error handling.
- Integrated validations into FlightSearchCore and PassengerCounterCore.
Fix Passenger Modal Z-Index using React Portal
- Refactored PassengerSelector to use ReactDOM.createPortal.
- This renders the modal at the document root, ensuring it resolves stacking context issues and appears above the header.
Refactor Flight Core components to Hook pattern and reorganize folders
- Refactored AirlineSelectorCore, PassengerCounterCore, FlightSearchCore to use custom hooks (useAirlineAutocomplete, usePassengerCounter, useFlightSearch). - Reorganized src/components/core/flight into grouped directories (airlineselector, airportselector, passengercounter, flightsearch). - Added unit tests for new hooks. - Updated all consumer imports.
Refactor Home Page and Flight Search to use Core Components
- Refactored Home Page to use FlightDealsCore, HotelDealsCore, and TravelPackagesCore. - Added React Query prefetching for Airlines and Packages in Home Page. - Updated FlightSearchPanel to use new Airline/Airport/Passenger Selector components. - Created new Core wrapper components for Airline/Airport selectors using absolute imports. - Added unit tests for useAirlineAutocomplete.