"use client"; /* eslint-disable @typescript-eslint/no-explicit-any */ import Image from "next/image"; import BottomSheetModal from "../../../../Modal/BottomSheetModal"; import React, { useRef, useState } from "react"; import CustomizeOrderModal from "../../../../Modal/CustomizeOrderModal"; import { deleteDraft } from "../../../../../Api/OrderApi"; import { useRouter } from "next/navigation"; import { amountFormatWithCurrency, truncateWithTooltip, } from "../../../../../lib/Helper"; import { OrderFlowType } from "@/Constant/enums"; type OrderCardProps = any; const OrderCard: React.FC = ({ customerInputOrderId, address = "", totalWeight, destinationCustomerName, service_type_details, numberOfPackages, calculatedTotalShippingCharge, orderDetail, fetchOrders, handleFuturePickupFlag, }) => { const router = useRouter(); const [customizeOrderModal, setCustomizeOrderModal] = useState(false); const [showDropdown, setShowDropdown] = useState(false); const dropdownRef = useRef(null); const toggle = () => setCustomizeOrderModal(!customizeOrderModal); const handleChange = () => { toggle(); }; const handleEdit = () => { setShowDropdown(false); // Navigate to create order page with order ID // dispatch(resetOrderData()) router.push( `/create-order?mode=edit&orderId=${ orderDetail?.id }&customerName=${encodeURIComponent(destinationCustomerName)}${orderDetail?.refOrderId ? "&packageDisable=true" : ""}` ); window.location.href = `/create-order?mode=edit&orderId=${ orderDetail?.id }&customerName=${encodeURIComponent(destinationCustomerName)}${orderDetail?.refOrderId ? "&packageDisable=true" : ""}`; router.refresh(); }; const handleDelete = async (id: any) => { try { await deleteDraft(id); setShowDropdown(false); fetchOrders(); } catch (error) { console.error("Error deleting draft:", error); } }; // Close dropdown when clicking outside React.useEffect(() => { const handleClickOutside = (event: MouseEvent) => { if ( dropdownRef.current && !dropdownRef.current.contains(event.target as Node) ) { setShowDropdown(false); } }; document.addEventListener("mousedown", handleClickOutside); return () => { document.removeEventListener("mousedown", handleClickOutside); }; }, []); return ( <>
{customerInputOrderId} {" "}

{service_type_details?.name} {orderDetail?.orderFlowType?.id === OrderFlowType.Return ? ( {" "} {orderDetail?.orderFlowType?.name} ) : ''} {orderDetail?.isFuturePickup ? ( <> {" "}  ) : ''}

{ e.preventDefault(); setShowDropdown(!showDropdown); }} > {showDropdown && (
{/* {orderDetail?.refOrderId ? "" : ( */} {/* // )} */} {orderDetail?.isFuturePickup ? ( ) : ( )}
)}
{truncateWithTooltip(destinationCustomerName, 45).text}

{/* {orderDetail?.isFuturePickup ? "Marked as Future Pickup" : ""} */}

{" "} {truncateWithTooltip(address || "", 53)?.text}
Box Icon
{orderDetail?.draft_order_package_list?.length || numberOfPackages}{" "} Pkgs
Weight Icon
{totalWeight} KG
Wallet Icon
{amountFormatWithCurrency( calculatedTotalShippingCharge || 0 )}
{customizeOrderModal && ( )} ); }; export default OrderCard;