← back to Newmor Onboard

scripts/newmor-boost-guard.js

17 lines

// Newmor showroom cards retain a direct product link; only samples on the PDP can be purchased.
(function(){
 if(window.__nwShowroomCards)return;window.__nwShowroomCards=true;
 var handles=new Set(window.__nwApprovedHandles||[]),ids=new Set(window.__nwApprovedIds||[]);
 function isNewmor(card){if(ids.has(card.dataset.productId))return true;var vendor=card.querySelector('[class*="product-vendor"]');if(vendor&&vendor.textContent.trim().toLowerCase()==='newmor wallcoverings')return true;return Array.from(card.querySelectorAll('a[href*="/products/"]')).some(function(a){try{return handles.has(new URL(a.href).pathname.split('/products/')[1])}catch(e){return false}});}
 function fix(){document.querySelectorAll('.boost-sd__product-item').forEach(function(card){
  if(!isNewmor(card))return;
  card.setAttribute('data-nw-showroom-card','true');
  card.querySelectorAll('.boost-sd__product-price,.boost-sd__format-currency,[class*="compare-price"],[class*="unit-price"]').forEach(function(n){n.remove()});
  card.querySelectorAll('button,[class*="quick-view"],[class*="quickView"],[class*="quick-add"],[class*="buy-now"]').forEach(function(n){n.remove()});
  if(!card.querySelector('.nw-boost-inquiry')){var p=document.createElement('p');p.className='nw-boost-inquiry';p.textContent='Showroom inquiry';card.appendChild(p);}
 });}
 new MutationObserver(fix).observe(document.documentElement,{childList:true,subtree:true,characterData:true});
 document.addEventListener('click',function(e){if(e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;var c=e.target.closest&&e.target.closest('.boost-sd__product-item');if(!c||!isNewmor(c))return;var clicked=e.target.closest('a,button,[role="button"]');if(clicked&&clicked.tagName==='A'&&!clicked.getAttribute('href')?.includes('/products/'))return;var a=c.querySelector('a[href*="/products/"]');if(a){e.preventDefault();e.stopImmediatePropagation();location.assign(a.href);}},true);
 fix();
})();