/* eslint-disable react-hooks/exhaustive-deps */ "use client"; import React, { useEffect } from "react"; import Container from "@/components/shared/container"; import CoreSummarySkeleton from "@/features/core/summary/components/core-summary-skeleton"; import { getGroupPassengers } from "@/features/core/summary/libs/group-passenger-helper"; import { useLabels } from "@/hooks/useLabels"; import { storageManager } from "@/libs/storage-manager"; import { ILoaderKeys } from "@/models/loader.model"; import { useTransferAddToCartMutation } from "@/services/eva-display/transfer/transfer-cart/transfer-add-to-cart.service"; import { useLoaderStore } from "@/store/loader-store/use-loader-store"; import { usePayment } from "../../payment/hooks/use-transfer-payment"; import { useTransferTravelPlanner } from "../../travel-planner/hooks/use-transfer-travel-planner"; import { useTransferSummary } from "../hooks/use-transfer-summary"; import TransferSummaryView from "./transfer-summary-view"; export default function TransferSummary() { const tp = useTransferTravelPlanner(); const summary = useTransferSummary(); const { removeLoader } = useLoaderStore(); const addToCartMutation = useTransferAddToCartMutation(); const labels = useLabels(); const { resetPaymentStore } = usePayment(); useEffect(() => { if (tp.isReady && summary.isReady) { storageManager.delete("core-payment"); resetPaymentStore(); addToCartMutation.mutate({ TransferCartProductRequest: { ProductKeys: summary.data.payload.detailKey!, SearchId: summary.data.payload.searchId!, }, }); } setTimeout(() => { removeLoader(ILoaderKeys.HotelDetailLoaderKey); }, 250); }, [tp.isReady, summary.isReady]); if (!tp.isReady || !summary.isReady || !addToCartMutation.data || !tp?.data) return ; if ( addToCartMutation.data.errors && addToCartMutation.data.errors.length > 0 ) { return (
Bir hata oluştu!
); } function getPassengerGroups() { const passengers = getGroupPassengers( { passengerGroups: [ { employee: { count: tp.data?.payload?.passengers?.employee?.count ?? 0, }, guest: { count: tp.data?.payload?.passengers?.guest?.count ?? 0, }, child: { count: tp.data?.payload?.passengers?.child?.count ?? 0, }, }, ], passengerKeys: summary.data.payload.passengersKeys!, employees: tp.data.payload.employees ?? [], }, labels, ); return passengers; } const passengers = getPassengerGroups(); return ( ); }