supersam/src/components/client/invitationReference.js

40 lines
999 B
JavaScript

const getOrderItemNames = (invitation) => {
const rawItems = Array.isArray(invitation?.orderItems)
? invitation.orderItems
: Array.isArray(invitation?.items)
? invitation.items
: [];
return rawItems
.map((item) => {
if (typeof item === "string") {
return item.trim();
}
if (item && typeof item === "object" && typeof item.name === "string") {
return item.name.trim();
}
return "";
})
.filter(Boolean);
};
export const getInvitationReferenceLabel = (invitation) => {
const invoiceNumbers = [...new Set(getOrderItemNames(invitation))];
if (invoiceNumbers.length === 1) {
return `Счет ${invoiceNumbers[0]}`;
}
if (invoiceNumbers.length > 1) {
return `Счета: ${invoiceNumbers.join(", ")}`;
}
const orderNumber = typeof invitation?.orderNumber === "string" ? invitation.orderNumber.trim() : "";
if (orderNumber) {
return `Счет ${orderNumber}`;
}
return "Счет —";
};