fix: format campaign product list for whatsapp

This commit is contained in:
Cauê Faleiros
2026-06-10 16:00:59 -03:00
parent 0d6ef40c8e
commit 7e3d0be595
2 changed files with 31 additions and 12 deletions

View File

@@ -1,5 +1,13 @@
const applyProductDisplayAlias = (name) => {
const productName = String(name || '').trim();
return productName
.replace(/^BASE LISA CAMISETA\b/i, 'CAMISETA PREMIUM')
.replace(/^BASE LISA OVER SIZE\b/i, 'CAMISETA PREMIUM OVER SIZE')
.replace(/^BASE LISA MOLETOM CANGURU\b/i, 'MOLETOM CANGURU PREMIUM');
};
const formatProductNameForDisplay = (name) => {
return String(name || '')
return applyProductDisplayAlias(name)
.toLocaleLowerCase('pt-BR')
.replace(/(^|[\s/-])(\p{L})/gu, (_, separator, letter) => {
return `${separator}${letter.toLocaleUpperCase('pt-BR')}`;
@@ -9,11 +17,7 @@ const formatProductNameForDisplay = (name) => {
const formatProductList = (productNames) => {
const displayNames = productNames.map(formatProductNameForDisplay);
if (displayNames.length <= 2) {
return displayNames.join(' e ');
}
return `${displayNames.slice(0, -1).join(', ')} e ${displayNames[displayNames.length - 1]}`;
return displayNames.map(name => `${name}`).join(' ');
};
const groupCampaignRowsByBaseProduct = (rows) => {