import { ReceiptPercent, XCircle } from "@medusajs/icons" import { AdminOrderLineItem, HttpTypes } from "@medusajs/types" import { Input, Text, Tooltip } from "@medusajs/ui" import { UseFormReturn } from "react-hook-form" import { useTranslation } from "react-i18next" import { ActionMenu } from "../../../../../components/common/action-menu" import { Form } from "../../../../../components/common/form" import { Thumbnail } from "../../../../../components/common/thumbnail" import { MoneyAmountCell } from "../../../../../components/table/table-cells/common/money-amount-cell" import { CreateExchangeSchemaType } from "./schema" type ExchangeOutboundItemProps = { previewItem: AdminOrderLineItem currencyCode: string index: number onRemove: () => void // TODO: create a payload type for outbound updates onUpdate: (payload: HttpTypes.AdminUpdateReturnItems) => void form: UseFormReturn } function ExchangeOutboundItem({ previewItem, currencyCode, form, onRemove, onUpdate, index, }: ExchangeOutboundItemProps) { const { t } = useTranslation() const appliedPromoCodes = (previewItem.adjustments || []).map( (adjustment) => adjustment.code ) return (
{previewItem.title}{" "} {previewItem.variant_sku && ( ({previewItem.variant_sku}) )}
{previewItem.subtitle}
{appliedPromoCodes.length > 0 && (
{appliedPromoCodes.map((code) => (
{code}
))} } >
)}
{ return ( { const val = e.target.value const payload = val === "" ? null : Number(val) field.onChange(payload) if (payload) { onUpdate({ quantity: payload }) } }} /> ) }} /> {t("fields.qty")}
, }, ].filter(Boolean), }, ]} />
) } export { ExchangeOutboundItem }