/* eslint-disable react-hooks/exhaustive-deps */ import dayjs from "dayjs"; import Link from "next/link"; import { useEffect, useState } from "react"; import { Button } from "@/components/ui/button/button"; import Card from "@/components/ui/card/card"; import Spinner from "@/components/ui/spinner"; import { ReservationSummaryImage, ReservationSummaryProvider, ReservationSummaryRoutes, ReservationSummarySeperator, ReservationSummaryTitle, } from "@/components/widget/reservation-summary/reservation-summary"; import { PriceManager } from "@/libs/price-manager/price-manager"; import DefautlImage from "@/public/assets/images/defaultImage.jpg"; import { useTransferAddToCartMutation } from "@/services/eva-display/transfer/transfer-cart/transfer-add-to-cart.service"; import { useBookingRequestTransferChangeContext } from "../context/booking-request-transfer-change-context"; import { useBookingRequestTransferChange } from "../hooks/use-booking-request-transfer-change"; import { BRInfoMessage } from "./br-info-message"; const BRTransferSummary = () => { const { selectedData, transferBookingRequest } = useBookingRequestTransferChangeContext(); const addToCartMutation = useTransferAddToCartMutation(); const { changeBookingRequest, isLoading } = useBookingRequestTransferChange({ detailKeys: selectedData!.selectedItems, searchId: selectedData!.searchId, searchItemKey: selectedData!.searchItemKey, transferBookingRequest, }); const [message, setMessage] = useState<{ requestId?: number; title: string; message: string; type: "information" | "error" | "success"; } | null>(null); useEffect(() => { addToCartMutation.mutate({ TransferCartProductRequest: { ProductKeys: selectedData!.selectedItems, SearchId: selectedData!.searchId!, }, }); }, []); const addToCardData = addToCartMutation.data?.result; if (!addToCardData) return (
); const isReturn = addToCardData.transferItemList.length > 1; const sortedTransferItemsByGroupId = addToCardData.transferItemList.sort( (a, b) => a.groupId - b.groupId, ); return (
{sortedTransferItemsByGroupId.map((item, index) => ( <> {index !== 0 && (
)}
{isReturn && (
{index === 0 ? "Gidiş Transferi" : "Dönüş Transferi"}
)}
{item.transferName} {dayjs(item.startDate).format("DD MMMM YYYY")}
))}
Yolcu Sayısı {addToCardData.passengersCount}
{isReturn && (
{sortedTransferItemsByGroupId.map((item, index) => (
{index === 0 ? "Gidiş Transferi" : "Dönüş Transferi"} {PriceManager({ currency: item.totalPrice.slice(0, 3), value: +item.totalPrice.slice(3), })}
))}
)}
Toplam Tutar {PriceManager({ currency: addToCardData.totalPrice.slice(0, 3), value: +addToCardData.totalPrice.slice(3), })}
{ if (message?.requestId) { window.location.href = `/transfer-request-detail?id=${message?.requestId}`; } setMessage(null); }} onOk={() => { window.location.href = `/transfer-request-detail?id=${message?.requestId}`; setMessage(null); }} />
); }; export default BRTransferSummary;