/* eslint-disable react/no-unused-prop-types */ import dayjs from "dayjs"; import Link from "next/link"; import { useEffectOnce } from "usehooks-ts"; import { Button } from "@/components/ui/button/button"; import Card from "@/components/ui/card/card"; import { Skeleton } from "@/components/ui/skeleton/skeleton"; import Spinner from "@/components/ui/spinner"; import { RezervationSummaryDivider, RezervationSummaryFlightInfo, RezervationSummaryFlightPrice, RezervationSummaryFlightTotalPrice, RezervationSummaryProvider, RezervationSummaryTitle, } from "@/components/widget/rezervation-summary/rezervation-summary"; import { getFormatedFlightTime } from "@/libs/helpers/date-time-helper"; import { getAirportCode, sortCombinationGroups, sortFlightSegments, } from "@/libs/helpers/flight-helper"; import { PriceManager } from "@/libs/price-manager/price-manager"; import type { IFlightBookingRequest } from "@/models/booking-request.model"; import { useFlightAddToCartMutation } from "@/services/eva-display/flight/flight-add-to-cart/flight-add-to-cart.service"; import type { IFlightDetailResponse } from "@/services/eva-display/flight/flight-detail/flight-detail.service"; import { useBookingRequestFlightChange } from "../hooks/use-booking-request-flight-change"; interface BRFCCartDataProps { flightBookingRequest: IFlightBookingRequest; searchId: string; cartId: string; pricingCombinationKeys: string[]; detailData: IFlightDetailResponse; } const BRFCCartData = (props: BRFCCartDataProps) => { const addToCartMutation = useFlightAddToCartMutation(); const { changeBookingRequest, isLoading } = useBookingRequestFlightChange({ detailData: props.detailData, flightBookingRequest: props.flightBookingRequest, pricingCombinationKeys: props.pricingCombinationKeys, searchId: props.searchId, }); function addToCart() { addToCartMutation.mutate({ FlightCartProductRequest: { PreBook: 0, PricingCombinationKeys: props.pricingCombinationKeys, searchId: props.searchId, cardId: null, }, }); } useEffectOnce(() => { addToCart(); }); if (addToCartMutation.isLoading || !addToCartMutation.data) { return (
); } if (addToCartMutation.isError) { return (
Error...
); } const combinationGroups = sortCombinationGroups( props.detailData.pricingCombinations.length > 1 ? props.detailData.pricingCombinations.flatMap( (pricingCombination) => pricingCombination.combinationGroups, ) : (props.detailData.pricingCombinations[0]?.combinationGroups ?? []), ); if (!combinationGroups) { return (
); } return (
1 || props.detailData.pricingCombinations.length > 1 ? "Gidiş Dönüş" : "Tek Yön" } /> {combinationGroups.map((combinationGroup) => { const flightSegmentsItem = sortFlightSegments( combinationGroup.flightSegments, ); const originSegmentItem = flightSegmentsItem[0]!; const departureSegmentItem = flightSegmentsItem[flightSegmentsItem.length - 1]!; return ( ); })}
Toplam Tutar {PriceManager({ currency: props.detailData.pricingCombinations[0]!.totalPrice.slice( 0, 3, ), value: +props.detailData.pricingCombinations[0]!.totalPrice.slice(3), })}
); }; export default BRFCCartData;