import { memo } from 'react'; import { MapPin, Pencil, Trash2 } from 'lucide-react'; import type { Delivery } from '../../types'; import { formatPickupLocation } from '../../types'; import { StatusBadge } from './StatusBadge'; import { PaymentBadge } from './PaymentBadge'; import { WhatsAppIcon } from '../ui/WhatsAppIcon'; import { getWhatsAppUrl } from '../../utils/phone'; interface DeliveryRowProps { delivery: Delivery; onStatusChange: (id: string) => void; onEdit: (delivery: Delivery) => void; onDelete: (id: string) => void; pending?: boolean; } export const DeliveryRow = memo(({ delivery: d, onStatusChange, onEdit, onDelete, pending }: DeliveryRowProps) => ( onStatusChange(d.id)} disabled={pending} size="sm" />

{d.productName}

{formatPickupLocation(d.pickupLocation, d.warehouseRequestSource)}

{d.pickupLocation2 &&

{d.productName2 || 'Вторая загрузка'}

{formatPickupLocation(d.pickupLocation2, d.warehouseRequestSource2)}

}

{d.customerName}

{d.phone}
{d.additionalPhone &&
{d.additionalPhone}
} ул. {d.street}, д. {d.house}{d.apartment ? `, кв. ${d.apartment}` : ''}

{[d.entrance && `Подъезд ${d.entrance}`, d.floor && `этаж ${d.floor}`, d.hasElevator ? 'есть лифт' : 'нет лифта'].filter(Boolean).join(' · ')}

{d.serviceInfo &&

{d.serviceInfo}

}{d.comment || '—'}
)); DeliveryRow.displayName = 'DeliveryRow';