/* eslint-disable jsx-a11y/no-static-element-interactions */ /* eslint-disable jsx-a11y/click-events-have-key-events */ /* eslint-disable unused-imports/no-unused-vars */ /* eslint-disable no-constant-condition */ /* eslint-disable no-self-compare */ import dayjs from "dayjs"; import Link from "next/link"; import { useRouter } from "next/navigation"; import React from "react"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu/dropdown-menu"; import LIcon from "@/components/ui/lucid-icon/lucid-icon"; import { StatusText } from "@/components/ui/status-text/status-text"; import styles from "@/components/widget/request-card/flight-request-card/flight-request-card.module.css"; import { useBreakpoints } from "@/hooks/useBreakpoints"; import { PriceManager } from "@/libs/price-manager/price-manager"; import { cn } from "@/libs/utils"; import type { IBookingRequestItem } from "@/services/eva-display/demand/demand-service.types"; import { statusEnumTypes } from "@/services/eva-display/demand/demand-service.types"; import type { IPassengerInformation } from "@/services/eva-display/demand/passenger-information/passenger-information"; import type { ITransferBookedProduct } from "@/services/eva-display/demand/transfer-booked-product/transfer-booked-product"; import type { ITransferReservationData } from "@/services/eva-display/demand/transfer-reservation-data/transfer-reservation-data"; import TransferMultipleWayCard from "./transfer-multiple-way-card"; export interface ITransferRequestCardProps { bookedProduct: ITransferBookedProduct; reservationData: ITransferReservationData; passengerInformations: IPassengerInformation; item: IBookingRequestItem; className?: string; } function Undefined() { return bulunamadı; } const TransferRequestCard = ({ item, passengerInformations, reservationData, bookedProduct: _bookedProduct, className, }: ITransferRequestCardProps) => { const status = item?.requestStatus as number; const { isDesktop } = useBreakpoints(); const router = useRouter(); if ( !reservationData || !reservationData?.DetailResponse?.TransferSegmentGroupItem ) { return null; } let transferSegmentGroupItems = reservationData.DetailResponse.TransferSegmentGroupItem?.filter((x) => reservationData.ProductKeys.includes(x.Key), ); transferSegmentGroupItems = transferSegmentGroupItems.sort( (a, b) => dayjs(a.Items[0]?.DepartureTime).valueOf() - dayjs(b.Items[0]?.DepartureTime).valueOf(), ); const requestDetailPath = `/transfer-request-detail?id=${item?.id}`; const handleClickCard = () => { if (!isDesktop) { window.scrollTo(0, 0); router.push(requestDetailPath); } }; const originSegmentGroup = transferSegmentGroupItems[0]?.Items[0]; const destinationSegmentGroup = transferSegmentGroupItems.length === 1 ? null : transferSegmentGroupItems[1]?.Items[0]; return (
Onay Durumu
Option Süresi
Gidiş Tarihi
{dayjs(originSegmentGroup?.DepartureTime).format( "DD MMMM YYYY", )}
Dönüş Tarihi
{dayjs(destinationSegmentGroup.DepartureTime).format( "DD MMMM YYYY", )}
Toplam Tutar
{PriceManager({ currency: "TRY", value: (`${item?.totalPrice}` as unknown as number) || 0, })}
Kişiler
{passengerInformations ? Object.values(passengerInformations) .map((passanger) => { return `${passanger?.Name} ${passanger?.Surname}`; }) .join(", ") : Undefined()}