1(function(){if(window.__rgCartRewardRaysInit||!window.RewardPoints)return;window.__rgCartRewardRaysInit=!0;function getBoxes(){return document.querySelectorAll(".rg-cart-drawer-meils-rays-box")}function getRewardDataEls(){return document.querySelectorAll("#cart-drawer-reward-data, [data-cart-reward-data]")}function getRewardDataFromDom(){const dataEl=document.getElementById("cart-drawer-reward-data")||document.querySelector("[data-cart-reward-data]");if(!dataEl)return{totalPrice:0,items:[]};try{const data=JSON.parse(dataEl.textContent);return{totalPrice:Number(data?.totalPrice)||0,items:Array.isArray(data?.items)?data.items:[]}}catch(error){return console.error("Failed to parse cart drawer reward data:",error),{totalPrice:0,items:[]}}}function normalizeCartData(cart){return cart?{totalPrice:Number(cart.total_price)||0,items:Array.isArray(cart.items)?cart.items.map(item=>({variantId:item.variant_id,productId:item.product_id,unitPrice:window.RewardPoints.normalizeCartUnitPrice(item.final_price),quantity:Number(item.quantity)||1})):[]}:{totalPrice:0,items:[]}}function updateRewardDataJson(data){getRewardDataEls().forEach(dataEl=>{dataEl.textContent=JSON.stringify(data)})}function setBoxesVisible(visible){getBoxes().forEach(box=>{box.hidden=!visible})}async function updateRewardDisplay(data){const boxes=getBoxes();if(!boxes.length)return;if(!data.items.length){setBoxesVisible(!1);return}const rewards=await RewardPoints.calculateCartRewards(data);if(rewards.hide||!rewards.hasMiles&&!rewards.hasRays){setBoxesVisible(!1);return}boxes.forEach(box=>{const root=box.querySelector("[data-reward-root]");root&&(RewardPoints.applyRewardDisplay(root,rewards),box.hidden=!1)})}function handleCartUpdate(cart){RewardPoints.clearCache();const data=normalizeCartData(cart);updateRewardDataJson(data),updateRewardDisplay(data)}function init(){const data=getRewardDataFromDom();updateRewardDisplay(data)}document.addEventListener("DOMContentLoaded",init),window.addEventListener("renogy:login",()=>{RewardPoints.clearCache(),updateRewardDisplay(getRewardDataFromDom())}),document.addEventListener("on:line-item:change",event=>{event.detail?.cart&&handleCartUpdate(event.detail.cart)}),document.addEventListener("on:cart:add",event=>{event.detail?.cart&&handleCartUpdate(event.detail.cart)}),document.addEventListener("on:cart-drawer:render",()=>{updateRewardDisplay(getRewardDataFromDom())}),document.addEventListener("dispatch:cart-drawer:refresh",()=>{const cartUrl=window.theme?.routes?.cart?`${window.theme.routes.cart}.js`:"/cart.js";fetch(cartUrl).then(response=>response.json()).then(cart=>handleCartUpdate(cart)).catch(error=>console.error("Failed to refresh cart drawer rewards:",error))})})(); 2//# sourceMappingURL=/cdn/shop/t/5/assets/cart-drawer-rays.js.map?v=59490982463480309861786669550
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.