(async()=>{if(!document.querySelector(".ex-rewards"))return;if(!document.querySelector(".ex-u-1300601"))return;document.querySelector(".new-rewards-row").classList.remove("hide");document.querySelector(".page-content").querySelector(":scope > .rewards").classList.add("rewards-native","hide");var e=document.querySelector(".new-rewards-section"),t=e.querySelector(".new-reward-items-list"),r=e.querySelector(".reward-items-title span");let c=e.querySelector(".rewards-filter");var i=document.querySelectorAll("#rewardItemsList .reward-item");let s=[],a=[],o={"tools & hardware":/drills & drivers|Power Tool Accessories|Air Tools|Hand Tools|Cutting Tools|Screwdrivers|Screws|Wrenches|Tool Belts|Tape|Sand Paper|Super Glue|Multi-Purpose Glue|Caulk|Grease & Lubricants/i,"paint & finishing":/Paint Roller Covers|Paint Brushes|General Purpose Spray Paint/i,"home & kitchen":/Dish Soap|Kitchen Gadgets & Tools|Cabinet & Drawer Knobs|Clothes Pins|Air Fresheners|Brooms/i,"garden & outdoor":/Gardening Tools|Gardening Gloves|Ants/i,"electrical & power":/LED Standard Light Bulbs|Always-On Night Lights|Less Than 50 ft Extension Cords|AA Batteries|Coin & Button Batteries/i,"building materials":/Blocks & Bricks/i,personal:/Hearing Protection|Safety Glasses|Work Gloves|Water Bottles/i,other:/Clearance & Closeouts/i};e.querySelector(".points-info__title span").textContent=EvoXLayer().user.name;class n{constructor(e,t={}){this.allItems=e,this.title=t.title,this.container=t.container,this.itemsPerPage=t.itemsPerPage||50,this.buffer=t.buffer||10,this.title.textContent=`${this.allItems.length} ${1===this.allItems.length?"reward":"rewards"} found`,this.products=this.extractProductData(e),this.buildIndices(),this.filteredProducts=[...this.products],this.renderedItems=new Set,this.currentPage=0,this.setupVirtualContainer(),this.setupIntersectionObserver()}extractProductData(e){return e.map((e,t)=>({id:t,element:e,title:e.querySelector(".product-title")?.textContent.trim()||"",sku:e.querySelector(".product-details-sku")?.textContent.replace("Product Code","").trim(),category:e.querySelector(".product-details-category a")?.textContent.trim()||"",brand:e.querySelector(".product-details-brand img")?.alt||"",price:Number((e.querySelector(".product-price")?.textContent||"").trim().replace(/,/g,""))||0,disabled:e.querySelector("button")?.hasAttribute("disabled")||!1}))}buildIndices(){this.indices={byCategory:new Map,byPrice:[...this.products].sort((e,t)=>e.price-t.price)},Object.keys(o).forEach(e=>{this.indices.byCategory.set(e,[])}),this.indices.byCategory.set("Other",[]),this.products.forEach(e=>{var t,r,i=e.category||"",s=e.sku||"";let a="Other";for([t,r]of Object.entries(o)){if(r.test(i)){a=t;break}if(r.test(s)){a=t;break}}this.indices.byCategory.get(a).push(e)})}setupVirtualContainer(){this.container.innerHTML="",this.spacer=document.createElement("div"),this.spacer.style.height="0px",this.container.append(this.spacer),this.viewport=document.createElement("div"),this.viewport.classList="row items-row",this.container.append(this.viewport)}setupIntersectionObserver(){var e=document.createElement("div");e.style.height="1px",e.dataset.sentinel="true",this.container.appendChild(e),this.observer=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&this.loadMoreItems()})},{rootMargin:"200px"}),this.observer.observe(e)}filter({category:e,minPrice:i,maxPrice:s,search:r}={}){let a=this.products;if(null!=e&&"all"!==e&&(a=this.indices.byCategory.get(e.toLowerCase())),void 0!==i||void 0!==s){let t=i||0,r=s||1/0;a=a.filter(e=>e.price>=t&&e.price<=r)}if(r){let t=r.toLowerCase();a=a.filter(e=>{e.title.toLowerCase().includes(t)||e.sku.toLowerCase().includes(t)})}this.filteredProducts=a,this.currentPage=0,this.renderedItems.clear(),this.viewport.innerHTML="",this.title.textContent=`${this.filteredProducts.length} ${1===this.filteredProducts.length?"reward":"rewards"} found`,this.renderBatch(0,this.itemsPerPage)}search(e){return this.filter({search:e})}reset(){return this.filteredProducts=[...this.products],this.currentPage=0,this.renderedItems.clear(),this.viewport.innerHTML="",this.renderBatch(0,this.itemsPerPage),this.products.length}updateSpacer(){var e=200*this.filteredProducts.length;this.spacer.style.height=e+"px"}renderBatch(e,t){if(this.filteredProducts.length){this.viewport.querySelectorAll(".reward-item-placeholder").forEach(e=>{e.remove()});var r=Math.min(e+t,this.filteredProducts.length);for(let t=e;t{e.classList.add("reward-item-new")},10)}}else this.viewport.innerHTML="",(t=document.createElement("div")).classList="col-sm-12 reward-item reward-item-placeholder",t.innerHTML='

No rewards found

Try adjusting your filters to see more options

',this.viewport.appendChild(t)}loadMoreItems(){var e=this.renderedItems.size;e{try{var e=await fetch(""+window.location.origin+t,{method:"GET",headers:{Accept:"text/html"},credentials:"include"});if(e.ok)return[await e.text(),e.headers.get("content-type")];throw new Error("HTTP error! status: "+e.status)}catch(e){return console.error(`Error fetching ${t}:`,e),null}};let d=(i,s,a=2e3)=>{let o=0,n=Date.now();i.classList.add("animating"),requestAnimationFrame(function e(){var t=Date.now()-n,t=Math.min(t/a,1),r=1-Math.pow(1-t,3);o=Math.floor(+s*r+0),i.textContent=o.toLocaleString(),t<1?requestAnimationFrame(e):i.classList.remove("animating")})};e=EvoXLayer().user.rewards.points,u=EvoXLayer().user.rewards.points_pending,p=u<0?e:e+u,f=document.getElementById("current-points-circle"),h=document.getElementById("pending-points-circle"),f.style.setProperty("--ring-offset",u/(e+u)*565.48),h.style.setProperty("--ring-offset",0),f=document.querySelector(".points__current .points__text span"),h=document.querySelector(".points__pending .points__text span"),m=document.querySelector(".text-current"),y=document.querySelector(".text-total"),d(f,e),d(h,u),d(m,e),d(y,p),(async()=>{var e=await l("/api/rewardsactivity?per_page=100");let i=document.querySelector(".history-wrapper .history-body");i.innerHTML="",i.classList.remove("loading");var t=document.querySelector(".history-wrapper .history-footer");t.innerHTML="",e&&e[1].includes("application/json")&&0!==JSON.parse(e[0]).data.length?(JSON.parse(e[0]).data.forEach((e,t)=>{var r;20
Order number: ${e.order_prefix_id}
${e.created_at}
${0${1===Math.abs(r)?"pt":"pts"}
${e.status}
`,i.append(t))}),t.innerHTML='View All'):((e=document.createElement("div")).classList="history-line histoy-line__placeholder",e.innerHTML='

No rewards history found

You will see you history after your first order

',i.append(e),t.classList.add("hide"))})(),(()=>{var e=document.querySelector(".points-tab-wrapper .points-tab__slider");let t=document.querySelectorAll(".points-tab-wrapper .points-from"),r=document.querySelectorAll(".points-tab-wrapper .points-to"),i,s=0,a=0;function o(e){s=e.from,a=e.to,t.forEach(e=>e.value=s),r.forEach(e=>e.value=a)}function n(e){var t=c.querySelector(".category-tab-wrapper .active button").dataset.category,r=e.from,e=e.to===e.max?99999:e.to;v.filter({category:t,minPrice:r,maxPrice:e})}e&&"undefined"!=typeof jQuery&&void 0!==jQuery.fn.ionRangeSlider&&(jQuery(e).ionRangeSlider({skin:"round",type:"double",min:0,max:1e4,from:0,to:1e4,step:50,prettify_enabled:!0,prettify_separator:",",max_postfix:"+",onStart:o,onChange:o,onFinish:function(e){o(e),n(e)},onUpdate:n}),i=jQuery(e).data("ionRangeSlider")),t.forEach(e=>{e.addEventListener("change",function(){let e=this.value;e<0?e=0:e>a&&(e=a),i.update({from:e}),this.value=e})}),r.forEach(e=>{e.addEventListener("change",function(){let e=this.value;e{var e=["all"];e.push(...Object.keys(o));let i=c.querySelector(".category-tab-wrapper");i.addEventListener("click",e=>{e.target.tagName="BUTTON",(e=>{const t=e.classList.contains("delete-filter"),r=e.closest(".tab-wrapper"),i=e.closest(".tab-element"),s=i&&r&&r.querySelectorAll(":scope > .active")||t&&r&&r.querySelectorAll(":scope > .active")||[];s.forEach(e=>{e.classList.remove("active")}),i&&i.classList.add("active")})(e.target),(()=>{const e=c.querySelector(".category-tab-wrapper .active button")?.dataset.category||null,t=Number(c.querySelector(".points-tab__inputs .points-from")?.value)||0,r=Number(c.querySelector(".points-tab__inputs .points-to")?.value)||Infinity;v.filter({category:e,minPrice:t,maxPrice:r})})()}),e.forEach((e,t)=>{var r=document.createElement("div");r.classList="tab-element category-tab "+(0===t?"active":""),r.innerHTML=``,i.append(r)})})(),s.push(...i);var u,p,h,m,y,f=(e=>{if(0===e.length)return[];let t=new Set;return Array.from(e).forEach(e=>{var e=e.querySelector("a");e&&e.href&&(e=e.getAttribute("href"))&&t.add(e)}),Array.from(t)})(document.querySelectorAll("#rewardItemsList .pagination > li:not(.active):not(.next-page):not(.prev-page)"));await Promise.all(f.map(async e=>{e=await l(e);e&&e[1].includes("text/html")&&(new DOMParser).parseFromString(e[0],"text/html").querySelectorAll(".reward-item").forEach(e=>{s.push(e);e=e.querySelector("script");if(e){var t=e,e=(t=e.textContent).match(/var\s+(obj_\d+)/);if(e)if(e=e[1],window[e]&&"object"==typeof window[e])window[e];else try{var r=document.createElement("script");r.textContent=t,document.head.appendChild(r),document.head.removeChild(r),window[e]}catch(e){return}}})})),s.forEach(e=>{e={el:e,title:e.querySelector(".product-title")?.textContent.trim()||"",sku:e.querySelector(".product-details-sku")?.textContent.replace("Product Code","").trim(),category:e.querySelector(".product-details-category a")?.textContent.trim()||"",brand:e.querySelector(".product-details-brand img")?.alt||"",price:Number(e.querySelector(".product-price")?.textContent.trim()||0),disabled:e.querySelector("button")?.hasAttribute("disabled")||!1};a.push(e)}),t.innerHTML="";let v=new n(s,{title:r,container:t,itemsPerPage:8});v.reset()})();