/* eslint-disable no-unsafe-optional-chaining */ import dayjs from "dayjs"; import { Button } from "@/components/ui/button/button"; import Card from "@/components/ui/card/card"; import LIcon from "@/components/ui/lucid-icon/lucid-icon"; import Spinner from "@/components/ui/spinner"; import FlightListItemContent from "@/features/flight/components/flight-list/components/flight-list-item/components/flight-list-item-content"; import { getCityName } from "@/libs/helpers/flight-helper"; import { PriceManager } from "@/libs/price-manager/price-manager"; import type { IFlightBookingRequest } from "@/models/booking-request.model"; import { useFlightDetailQuery } from "@/services/eva-display/flight/flight-detail/flight-detail.service"; import BRFCCartData from "./brfc-cart-data"; interface BRFCDetailDataProps { flightBookingRequest: IFlightBookingRequest; productKey: string; searchId: string; pricingCombinationKeys: string[]; } const BRFCDetailData = (props: BRFCDetailDataProps) => { const flightDetailQuery = useFlightDetailQuery({ FlightDetailRequest: props.pricingCombinationKeys.length > 1 ? { ProductKey: "", searchId: props.searchId, CombinationGroupKeys: props.pricingCombinationKeys, } : { ProductKey: props.productKey, searchId: props.searchId, }, }); if (!flightDetailQuery.data && flightDetailQuery.isLoading) { return (
); } const errros = (flightDetailQuery as any)?.errors?.[0]?.message; if (!flightDetailQuery.data || !!errros) { return (
{!errros &&

{errros}

}

Uçuş detayları çekilirken bir hata oluştu. Lütfen tekrar deneyiniz.

); } const { pricingCombinations } = flightDetailQuery.data; const isGroupedFlight = (pricingCombinations[0]?.combinationGroups || [])?.length > 1; const isRoundTrip = pricingCombinations.length > 1 || isGroupedFlight; const departureFlight = !isGroupedFlight ? pricingCombinations .find((x) => x.combinationGroups.find((y) => y.groupId === 0)) ?.combinationGroups.find((x) => x.groupId === 0) : pricingCombinations[0]?.combinationGroups.find((x) => x.groupId === 0); const returnFlight = !isGroupedFlight ? pricingCombinations .find((x) => x.combinationGroups.find((y) => y.groupId === 1)) ?.combinationGroups.find((x) => x.groupId === 1) : pricingCombinations[0]?.combinationGroups.find((x) => x.groupId === 1); return (
Uçuş Bilgileri
{`${getCityName( departureFlight?.flightSegments[0]?.origin, )} - ${getCityName( departureFlight?.flightSegments[0]?.destination, )}`}
{dayjs(departureFlight?.flightSegments[0]?.departureTime).format( "DD MMMM YYYY ddd", )}
} price={PriceManager({ currency: departureFlight?.totalPrice.slice(0, 3) || "TRY", value: +departureFlight!.totalPrice?.slice(3) / props.flightBookingRequest.passengerInformations?.length!, })} /> {isRoundTrip && returnFlight && ( <>
{`${getCityName( returnFlight?.flightSegments[0]?.origin, )} - ${getCityName( returnFlight?.flightSegments[0]?.destination, )}`}
{dayjs(returnFlight?.flightSegments[0]?.departureTime).format( "DD MMMM YYYY ddd", )}
} price={PriceManager({ currency: returnFlight?.totalPrice.slice(0, 3) || "TRY", value: +returnFlight!.totalPrice?.slice(3) / props.flightBookingRequest.passengerInformations?.length!, })} /> )}
pricingCombination.key, )} searchId={props.searchId} />
); }; export default BRFCDetailData;