✨BeeVenom Anti-Fungal Nail Renewal Oil⏰Last Day 50% Off
✨BeeVenom Anti-Fungal Nail Renewal Oil⏰Last Day 50% Off
✨BeeVenom Anti-Fungal Nail Renewal Oil⏰Last Day 50% Off
✨BeeVenom Anti-Fungal Nail Renewal Oil⏰Last Day 50% Off
✨BeeVenom Anti-Fungal Nail Renewal Oil⏰Last Day 50% Off
✨BeeVenom Anti-Fungal Nail Renewal Oil⏰Last Day 50% Off
✨BeeVenom Anti-Fungal Nail Renewal Oil⏰Last Day 50% Off
✨BeeVenom Anti-Fungal Nail Renewal Oil⏰Last Day 50% Off
1/8
✨BeeVenom Anti-Fungal Nail Renewal Oil⏰Last Day 50% Off
✨BeeVenom Anti-Fungal Nail Renewal Oil⏰Last Day 50% Off
✨BeeVenom Anti-Fungal Nail Renewal Oil⏰Last Day 50% Off
✨BeeVenom Anti-Fungal Nail Renewal Oil⏰Last Day 50% Off
✨BeeVenom Anti-Fungal Nail Renewal Oil⏰Last Day 50% Off
✨BeeVenom Anti-Fungal Nail Renewal Oil⏰Last Day 50% Off
✨BeeVenom Anti-Fungal Nail Renewal Oil⏰Last Day 50% Off
✨BeeVenom Anti-Fungal Nail Renewal Oil⏰Last Day 50% Off
1/8

✨BeeVenom Anti-Fungal Nail Renewal Oil⏰Last Day 50% Off

$24.97
$39.99
Save $15.02
🥳Buy More Save More🥳
Please select a 🥳buy more save more🥳
Quantity
/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1539149753700').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);

💯 All Nail Issues Can Be Easily Treated within 2 Weeks!

Experience the transformation with BeeVenom Anti-Fungal Nail Renewal Oil. In just 2–4 weeks, this advanced formula targets stubborn nail issues like fungal infections, discoloration, and brittleness, delivering visible improvements. Say goodbye to unhealthy nails and hello to a stronger, more vibrant appearance!

🔥Endorsed Worldwide — Top Rated Everywhere!🔥

Real Results from Real Customers

⭐⭐⭐⭐⭐

 - Laura Huxley, 34 Years Old, California -

"stubborn fungal infection that I had been battling for years had caused significant damage to my toes. My nails were thick, black, and brittle due to the fungus, and I had lost hope that they would ever be healthy again. I decided to try BeeVenom Anti-Fungal Nail Renewal Oil after trying several other products that didn’t work very well. From the first application, I could tell this product was different. The soothing formula immediately started working on the affected areas, and after a few weeks, I could see improvement. My thick, broken nail layers began to shed, and new, healthy nail growth started to appear."

⭐⭐⭐⭐⭐

 - Moss Burton, 41 Years Old, Pennsylvania -

"I stumbled upon this nail treatment oil while searching for a solution to my nail troubles. Dealing with paronychia and onychodystrophy was exhausting, but this oil seemed promising. After using it for a while, I couldn't believe the difference it made. My nails felt stronger, healthier, and the issues I faced became less and less of a problem. It's like a little miracle in a bottle, and I'm so grateful to have found it."

💡Understand the Menace: Toenail Fungus

Toenail disease refers to various conditions that affect the toenails, causing changes in appearance, texture, and sometimes leading to discomfort or pain. The main causes of common toenail diseases include factors such as bacteria, fungi, viruses, injuries, genetic predisposition, and more.

Once the infection takes root, individuals face a range of uncomfortable and inconvenient issues. Initially, the toenail may become thicker, brittle, and change color, often turning yellow or brown. Additionally, the skin around the nail can become inflamed, swollen, and painful, making it difficult to walk and perform daily activities.

Introducing BeeVenom Anti-Fungal Nail Renewal Oil: The Ultimate Solution for Healthy and Beautiful Nails

Developed by dermatologists, BeeVenom Anti-Fungal Nail Renewal Oil harnesses the powerful antifungal properties of bee venom and natural plants to effectively treat nail infections. Upon application, the oil's active ingredients deeply penetrate the nail and nail bed, targeting the root cause of the infection while simultaneously soothing inflammation, pain, and surrounding tissue damage.

Unlike traditional treatments, BeeVenom Anti-Fungal Nail Renewal Oil provides convenient, mess-free solution. Its natural formula ensures a gentle yet effective treatment, free from harsh chemicals and unwanted side effects, offering a safe and reliable option for restoring nail health.

How Does BeeVenom Anti-Fungal Nail Renewal Oil Work?

The BeeVenom Anti-Fungal Nail Renewal Oil works by using active bee venom and natural extracts to penetrate deep into the nails and cuticles, effectively eliminating fungal infections.

Powerful Antibacterial Properties to Eliminate Fungi

BeeVenom Anti-Fungal Nail Renewal Oil features a potent formula rich in bee venom, which contains peptides and proteins with strong antibacterial properties. These bioactive compounds effectively target a variety of microorganisms, including fungi, by disrupting their cell structure and interfering with their metabolic processes. This provides an effective solution for maintaining healthy, fungus-free nails.

Simulates Tissue Regeneration

BeeVenom Anti-Fungal Nail Renewal Oil stimulates nail growth by enhancing blood circulation to the nail bed. The bee venom formula strengthens brittle nails, promotes faster healing, and encourages the regeneration of damaged tissue, resulting in healthier, stronger nails over time.

Prevents Recurrent Infections

This BeeVenom Anti-Fungal Nail Renewal Oil creates a protective barrier around the nails, preventing the recurrence of fungal infections and other common nail conditions. This advanced formula helps maintain lasting nail health, ensuring your nails remain strong, clear, and free from future infections.

Long-Term Nail Health and Protection

By week 4, your nails will be fully healed and restored to their natural beauty. The powerful formula not only resolves existing issues but also creates a protective barrier to prevent future recurrences, ensuring long-lasting nail health and confidence.

Expert Dermatologist's Endorsement

“As a healthcare professional, I highly recommend BeeVenom Anti-Fungal Nail Renewal Oil for treating fungal nail issues. This advanced formula effectively eliminates fungus, promotes healing, and prevents recurrence. With ingredients like bee venom and allantoin, it provides a safe and effective solution for long-term nail health. Patients can expect noticeable improvement within weeks, making it a trusted choice for optimal nail care.”

- Dr. Emily Harper, Dermatologist -

Powerful Ingredients for Optimal Nail Health

🐝 Bee Venom (Rich in Melittin): Infused with melittin, a potent peptide with antifungal and antimicrobial properties, bee venom breaks down fungal cell membranes while stimulating blood circulation and collagen production. This dual action promotes nail growth, repair, and long-term health.

🌿 Allantoin: Soothes and protects the nail bed by reducing irritation, promoting healing, and softening the surrounding skin for healthier, more resilient nails.

🌿 Carbomer: Ensures the treatment adheres effectively to the nail surface, optimizing the absorption of active ingredients for maximum results.

🌿 Glycerine: Deeply hydrates and nourishes nails, locking in essential moisture to prevent dryness and brittleness.

🌿 Hydroxyethyl Cellulose: Enhances the product's texture and stability, providing smooth, even application for consistent and reliable results.

🌿 Maltosyl Glucoside: Retains moisture and boosts the delivery of active ingredients, amplifying the treatment's effectiveness in restoring nail health.

What Makes BeeVenom Anti-Fungal Nail Renewal Oil THE GREAT CHOICE?

✅ Kills 99.9% of Fungus and Bacteria: Effectively eliminates common fungi such as Candida albicans and Trichophyton rubrum, as well as bacteria responsible for secondary infections.

✅ Visible Improvements in 4 Weeks: 97% of patients reported noticeable improvements in nail appearance within just 4 weeks.

✅ Clear and Healthy Nails in 8 Weeks: 91% of participants achieved completely clear and healthy nails by the 8-week mark.

✅ Low Recurrence Rate: Less than 2% experienced recurring fungal issues, which were resolved with continued treatment.

✅ 100% Patient Satisfaction: Every participant expressed satisfaction and would recommend the treatment to others.

Here are More Testimonials from Our Satisfied Customers

⭐⭐⭐⭐⭐

- Martha Brown, 31 years old, Florida -

"I never thought I’d find a solution to my nail fungus and the damage it caused. But BeeVenom Anti-Fungal Nail Renewal Oil has been a complete game-changer! After just over a month, the fungus is nearly gone, and the black discoloration has disappeared. My nails are now stronger and healthier - I finally feel confident showing off my hands!"

⭐⭐⭐⭐⭐

- Kevin Parker, 35 years old, New York City -

"I struggled for years with brittle, weak toenails due to fungus. BeeVenom Anti-Fungal Nail Renewal Oil made all the difference! After only three weeks, I saw visible improvement - no more brittleness, and the fungus was diminishing. Now my nails are fully healed, and I can confidently wear open-toe shoes again. Easy to use and truly effective!"

How to Use

Package Include

  • 1 x BeeVenom Anti-Fungal Nail Renewal Oil


⚡Click On "ADD TO CART" To Get Yours Now!

✨OUR GUARANTEE✨


✅We truly believe we make some of the most innovative products in the world, and we want to make sure we back that up with a risk-free ironclad 45-day guarantee.

✅If you don't have a positive experience for ANY reason, we will do WHATEVER it takes to make sure you are 100% satisfied with your purchase.

✅Buying items online can be a daunting task, so we want you to realize that there is an absolute ZERO risk in buying something and trying it out. If you don't like it, no hard feelings we'll make it right.

✅We have 24/7/365 Ticket and Email Support.

WHY US?👇

  • We work directly with manufacturers all over the world to ensure the best quality of our products. We have a Quality Control department which helps us to keep our promise!
  • Price is always competitive.
  • Awesome Customer Service
  • Amazing products along with High Quality
  • Read reviews from our lovely customers

🔥 The price is limited! 🔥 Grab yours as the limited promotion available!

✈ Worldwide Shipping ✈  

Please note that shipping is insured. However, you may receive your items earlier. Tracking Numbers will ALWAYS be sent so you can track it every step of the way! Cool things are worth waiting for! 😉

🔒 100% Risk-Free Purchase 🔥 

  • We truly offer stunning, trendy high-quality products in the world.
  • We will do WHATEVER it takes with outstanding customer service support to assist everyone.
  • If you are not satisfied with receiving the goods, you can apply for a refund.
  • You can pay with PayPal, which will protect your money.

✅Payments Via PayPal®, Credit and Debit cards.

If you want to checkout with a Credit and Debit Card, just enter your * Card No, * Expiration Date, and * CVV.
f34603c6042c7802af86fc595826003b48c8f721fa4f1ffa117ffea06bd06849.png

153a0932404b13aa72f600fa0f9237172d5147ac6302b2183812028339748e9c.png

class SpzSmartBlockComponent extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.container_ = null; this.i18n_ = {}; this.config_ = {}; this.show_type_ = 3; this.product_resource_id_ = ''; this.collection_resource_id_ = ''; this.cart_items_ = []; this.customer_id_ = ''; this.order_id_ = ''; } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { const template_type = window.SHOPLAZZA.meta.page.template_type; if (template_type === 1) { this.show_type_ = 3; this.product_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 2) { this.show_type_ = 4; this.collection_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 15){ this.show_type_ = 5; } else if (template_type === 13){ this.show_type_ = 6; } else if (template_type === 20){ this.show_type_ = 7; this.customer_id_ = window.SHOPLAZZA.customer.customer_id; } else if (template_type === 35){ this.show_type_ = 8; this.order_id_ = window.location.pathname.split('/').pop(); } this.templates_ = SPZServices.templatesForDoc(this.element); this.setAction_(); } mountCallback() { console.log('appzebu smart mounted'); const that = this; const themeName = window.SHOPLAZZA.theme.merchant_theme_name; const isGeek = /Geek/.test(themeName); this.fetchRules().then((res) => { if (res && res.rules && res.rules.length) { const blockEl = document.getElementById('smart_recommend_block'); SPZ.whenApiDefined(blockEl).then((api) => { api.render({data: res}, true).then(() => { if (isGeek && that.show_type_ === 6) { blockEl.querySelector('.plugin_container_wrpper').style.padding = '30px 0'; } const recommendStyle = document.createElement('style'); recommendStyle.innerHTML = ` .plugin__recommend_container,.app-recommend-card { display: none !important; } `; document.head.appendChild(recommendStyle); const fetchList = []; res.rules.forEach((rule) => { fetchList.push(this.fetchRuleProductList(rule.id)); }); const fetchAll = Promise.all(fetchList); fetchAll.then((p_res) => { res.rules.forEach((rule, index) => { rule.products = p_res[index] && p_res[index].products; const ruleEl = document.getElementById('smart_recommend_rule_' + rule.id); SPZ.whenApiDefined(ruleEl).then((api) => { api.render({data: rule}, true).then(() => { that.impressListen(`#smart_recommend_rule_ul_${rule.id}`, function(){ that.trackRuleImpress(rule); }); const btnElList = document.querySelectorAll(`#smart_recommend_rule_ul_${rule.id} button`); btnElList.forEach((btnEl) => { if (btnEl && rule.config && rule.config.quick_shop_button_bg_color && rule.config.quick_shop_button_text_color) { btnEl.style.backgroundColor = rule.config.quick_shop_button_bg_color; btnEl.style.color = rule.config.quick_shop_button_text_color; } }) }); }); }); }); }) }) } else { if (window.top !== window.self) { const template_type = window.SHOPLAZZA.meta.page.template_type; const holderEl = document.getElementById('smart_recommend_preview_no_data_placeholder'); SPZ.whenApiDefined(holderEl).then((api) => { api.render({data: { isCart: template_type === 13, isCollection: template_type === 2, isProduct: template_type === 1, isIndex: template_type === 15 }}, true); }); } } }); } setAction_() { this.registerAction('quickShop', (data) => { const that = this; const product_id = data.args.product_id; const productIndex = data.args.productIndex; const rule_id = data.args.rule_id; const ssp = data.args.ssp; const scm = data.args.scm; const cfb = data.args.cfb; const ifb = data.args.ifb; const modalRender = document.getElementById('smart_recommend_product_modal_render'); if (product_id) { this.fetchProductData(product_id).then((res) => { const product = res.products && res.products.length && res.products[0] || {}; product.cfb = cfb; product.ifb = ifb; SPZ.whenApiDefined(modalRender).then((api) => { api.render({product: product, productIndex: productIndex, rule_id: rule_id, ssp: ssp, scm: scm, show_type: that.show_type_}, true).then(() => { const modalEl = document.getElementById('smart_recommend_product_modal'); SPZ.whenApiDefined(modalEl).then((modal) => { that.impressListen('#smart_recommend_product_modal', function(){ that.trackQuickShop({ rule_id: rule_id, product_id: product_id }); }); modal.open(); }); const formEl = document.getElementById('smart_recommend_product_form'); SPZ.whenApiDefined(formEl).then((form) => { form.setProduct(product); }); const variantEl = document.getElementById('smart_recommend_product_variants'); SPZ.whenApiDefined(variantEl).then((variant) => { variant.handleRender(product); }); }); }) }); } }); this.registerAction('handleScroll', (data) => { this.directTo(data.args.rule_id, data.args.direction); }); this.registerAction('handleProductChange', (data) => { const variant = data.args.data.variant; const product = data.args.data.product; const imageRenderEl = document.getElementById('smart_recommend_product_image'); SPZ.whenApiDefined(imageRenderEl).then((api) => { api.render({ variant: variant, product: product }); }); }); this.registerAction('handleAtcSuccess', (detail) => { const data = detail.args; data.data.product = data.data.product || {}; data.data.variant = data.data.variant || {}; const product_id = data.data.product.id; const product_title = data.data.product.title; const variant_id = data.data.variant.id; const price = data.data.variant.price; const rule_id = data.rule_id; const aid = `smart_recommend.${this.show_type_}.${rule_id}`; const ifb = data.data.product.ifb; const cfb = data.data.product.cfb; const ssp = data.ssp; const scm = data.scm; const spm = `smart_recommend_${this.show_type_}.${data.spmIndex}`; const params = { id: product_id, product_id: product_id, number: 1, name: product_title, variant_id: variant_id, childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid: aid, ifb: ifb, cfb: cfb, scm: scm, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, ssp: ssp, } }; this.tranckAddToCart(params); }); this.registerAction('addATCHook', (data) => { const params = data.args; const spm = `smart_recommend_${this.show_type_}.${params.spmIndex}`; this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({ event: 'dj.addToCart', params: { aid: `smart_recommend.${this.show_type_}.` + params.rule_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, }, once: true }); }); } tranckAddToCart(detail) { if (window.$) { window.$(document.body).trigger('dj.addToCart', detail); } } fetchRules() { const payload = { show_type: this.show_type_, }; let that = this; if (this.show_type_ === 6) { let line_items = []; return this.fetchCart().then((res) => { if (res && res.cart && res.cart.line_items) { line_items = res.cart.line_items.map((item) => { return { product_id: item.product_id, variant_id: item.variant_id, quantity: item.quantity, price: item.price } }); } payload.line_items = line_items; that.cart_items_ = line_items; return that.fetchRulesRequest(payload); }); } else { if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return this.fetchRulesRequest(payload); } } fetchRulesRequest(payload) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_query", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }); } fetchCart() { return fetch(`/api/cart/cart-select?r=${Math.random().toString(36).slice(-4)}`) .then((res) => { if (res.ok) { return res.json(); } }); } fetchRuleProductList(rule_id) { const payload = { page: 1, limit: 100, fields: ["title", "url", "image", "min_price_variant.price", "min_price_variant.compare_at_price"], rule_id: rule_id, }; if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 6) { payload.line_items = this.cart_items_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); }); } fetchProductData(product_id) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ product_ids: [product_id], fields: [ "images", "options", "min_price_variant", "variants"] }) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); const loadingEl = document.getElementById('smart_recommend_loading'); if (loadingEl) { loadingEl.style.display = 'none'; } }); } getStyle(ele, style) { if (!ele) return; if (window.getComputedStyle) { return window.getComputedStyle(ele)[style]; } return ele.currentStyle[style]; } directTo(id, direction) { const scrollElement = document.getElementById(`smart_recommend_rule_ul_${id}`); const blockWidth = parseInt(this.getStyle(scrollElement, 'width')); const scrollLength = (blockWidth * 0.19 - 12) * 5; const scrollPoint = scrollElement.scrollWidth - scrollElement.clientWidth; if (!scrollElement) return; if (direction === 'left') { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft - scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: Math.max(scrollElement.scrollLeft - scrollLength, 0), behavior: 'smooth' }); } else { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint + 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: scrollElement.scrollLeft >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); } } trackRuleImpress(rule) { if (window.sa && window.sa.track) { window.sa.track("plugin_common", { plugin_name: "upsell", event_type: "impressions", rule_id: rule.id, ssp: rule.ssp, scm: rule.scm, show_type: this.show_type_, support_app_block: window.SHOPLAZZA.theme.support_app_block }); window.sa.track("module_impressions", { aid: `smart_recommend.${this.show_type_}.${rule.id}`, support_app_block: window.SHOPLAZZA.theme.support_app_block }); } } trackQuickShop(data) { window.sa && sa.track && sa.track("plugin_common", { plugin_name: "upsell", event_type: "quick_shop", rule_id: data.rule_id, product_id: data.product_id, show_type: this.show_type_, }); } impressListen(selector, cb) { const el = document.querySelector(selector); const onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el && !el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart-block', SpzSmartBlockComponent);