Expanded Results Components (Refactor)
The following components were added to modularize the "View Fares" and "Details" sections, strictly following the Core/View architecture:
Branded Fares
Core:
BrandedFaresCore
(Logic placeholder)
View:
BrandedFaresView
(Displays "Select Fare Type" carousel/list)
Flight Details
Core:
FlightDetailsCore
(Manages active tab handling)
View:
FlightDetailsView
(Tabbed container)
Sub-Views:
FlightSegmentDetailsView
: Flight legs, baggage, layovers.
FareSummaryView
: Price breakdown table.
FareRulesView
: Cancellation and change fees.
Architecture Refinement
View Composition: Refactored
FlightResultItemView
to instantiate
BrandedFaresCore
and
FlightDetailsCore
directly within the JSX, rather than accepting them as props. This aligns with the project's pattern where Views compose their sub-features (Core/View pairs).
These components are integrated into
FlightResultItemView
via props passed from
FlightResultItemCore
, ensuring the View remains pure.