✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒
✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒
✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒
✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒
✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒
✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒
✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒
✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒
✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒
✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒
✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒
✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒
✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒
1/13
✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒
✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒
✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒
✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒
✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒
✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒
✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒
✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒
✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒
✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒
✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒
✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒
✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒
1/13

✨Eye Repair Cream-Arbutin 2%+Caffeine⏰Promotion 49% OFF Limited Time🛒

$35.99
$71.99
Save $36.00
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);

 
💝99.2% of Reviewers Recommends This Product.
🌎 Over $59.99 for free delivery worldwide
🛒 Tracking number for every order
💯 Payments Via PayPal® and Credit Card
⭐ Returns>>100% Money Back Guarantee

Our goods are authentic, with genuine patents, counterfeit must be investigated! Customers please identify our products

It will sell out fast, Enjoy a discount now!!⚡Please make sure to buy enough quantity before we increase the price!!!🔥

💞 Note: 5872 pieces have been sold since we started the sale. After the remaining 158 pieces are sold, our price will go back to the original price. Take your last chance to order!

Would you like to have Smooth out Wrinkles & Lift Eyelids, without expensive surgery & toxic chemicals

 

I've been using this product for 8 weeks now, and let me tell you, the change in how my eyelids and the skin around my eyes look remarkably rejuvenated! I'm genuinely blown away by the results! – Sarah, 52yrs.

 

I've been using OUHOE 2% +caffα-Arbutineine Eye Repair Cream for around 8 weeks, and I have to say, the transformation is incredible. My eyelids look rejuvenated, showing no signs of aging. My eyes appear brighter, dark circles and wrinkles are visibly reduced! – Michael, 39yrs.

 

Why do puffy eyelids and under-eye bags occur?

Eye wrinkles and under-eye bags primarily stem from reduced collagen levels as aging diminishes skin elasticity and firmness. Factors such as sun exposure accelerate collagen breakdown, while repetitive facial expressions like squinting exacerbate wrinkle formation. Dehydration, genetics, smoking, inadequate nutrition, stress, lack of sleep, and environmental toxins also play significant roles in skin aging by further depleting collagen, leading to premature aging effects.

OUHOE α-Arbutin +caffeine Eye Cream can also be used for:

How does OUHOE α-Arbutin +caffeine Eye Repair Cream work?

OUHOE α-Arbutin 2%+caffeine Eye Repair Cream is a potent solution tailored to combat aging signs around the eyes effectively. By stimulating collagen production and enhancing natural cell turnover, it visibly tightens skin and reduces fine lines, wrinkles, sagging, dryness, and puffiness. With a blend of 62 amino acids and Cellular Regeneration Factor (CRF) using micro-needle technology, this cream rejuvenates elasticity, tackling concerns linked to diminished firmness. It offers a holistic remedy, providing instant and enduring improvements for the delicate eye area.

 

OUHOE α-Arbutin 2%+caffeine Eye Repair Cream utilizes special components like Bio-Spicule and Cellular Regeneration Factor (CRF) to reinforce weakened elastic fibers around the eyes. Bio-Spicule, sourced from marine origins, gently exfoliates to boost ingredient absorption, while CRF stimulates cell renewal and collagen synthesis. Together, these ingredients enhance skin support, resilience, and elasticity effectively.

Highly Recommended by Leading Board-Certified Dermatologists

"Research and development have shown that the synergistic combination of α-Arbutin 2% and caffeine not only effectively targets hyperpigmentation and dark spots but also demonstrates anti-inflammatory properties, making it a promising solution for brightening the skin and reducing under-eye puffiness. "- Dr. Kylea Allora, MD. Dermatologist

 

What if the secret to brighter, firmer eyes lies in our unique ingredients: Alpha-Arbutin(α-Arbutin)?

Attaining luminous, uniform skin demands a steady skincare regimen featuring effective components to counteract discoloration from sun exposure and stress. While vitamin C is well-known, α-Arbutin, extracted from plants like bearberry, hinders melanin synthesis by lowering tyrosinase activity, diminishing dark spots and blemish scars, resulting in a brighter complexion. Its advantages encompass enhancing skin tone, minimizing redness, and achieving striking outcomes for glowing skin.

Our α-Arbutin, sourced from Canada and GMP certified (NSF), guarantees superior quality with a purity exceeding 99% and concentrations in 2%. Naturally extracted without synthetic additives, it is favored in cosmetics for reducing dark spots, achieving even skin tone, and promoting radiance. Opting for our product ensures the beauty advantages of premium, pure α-Arbutin from Canada, promising effective dark spot reduction and a luminous complexion.

Improve your skin tone using our natural (The synergistic effects of α-Arbutin and caffeine), scientifically proven ingredients to achieve a smoother and younger-looking radiance

 

🍒 Arbutin: Targets dark circles and uneven skin tone around the eyes, helping to brighten and even out the skin.

☕️ Caffeine: Reduces puffiness, dark circles, and acts as an antioxidant in skincare.

💧Niacinamide: Reduces the appearance of fine lines, wrinkles, and puffiness around the eyes while strengthening the skin barrier.

🔬Glutathione: Acts as an antioxidant to protect the delicate skin around the eyes from free radical damage, promoting a more youthful and radiant look.

🧬Ceramide: Helps to restore and strengthen the skin barrier around the eyes, improving moisture retention and overall skin health.

What makes OUHOE α-Arbutin 2%+caffeine Eye Repair Cream special?

 

✅Proven through clinical trials and tested by dermatologists

✅Offers quick rejuvenation and soothing relief

✅Diminishes the appearance of fine lines and wrinkles

✅Alleviates under-eye puffiness and dark circles

✅Enhances the skin’s elasticity and texture

✅Promotes collagen production ten times more than other products

✅Efficiently whitens and firms the skin

Repairs and hydrates the skin at the same time

 

See how our customers are loving the results!

 

After using OUHOE α-Arbutin 2%+caffeine Eye Repair Cream consistently for nearly 2 months, the transformation I've witnessed is truly astonishing. The appearance of my eyelids has notably rejuvenated, showing no visible signs of aging. My eyes now exude a brighter radiance, and the once prominent wrinkles have significantly softened.– Jessica, 41yrs.

 

Within just 4 weeks of regular application, I've noticed a remarkable improvement in the firmness and smoothness of my under eyes. I eagerly anticipate the continued progress over the next 4 weeks. The results so far have been nothing short of impressive. – David, 35yrs.

How to use:

  1. Cleanse and Pat Dry: Start with a clean, dry face. Gently cleanse the eye area to remove any makeup or impurities, and pat the skin dry with a soft towel.
  2. Apply the Cream: Using your ring finger, apply a small amount of OUHOE α-Arbutin 2%+caffeine Eye Repair Cream to the under-eye area. Gently tap the cream in a light, circular motion from the inner corner to the outer edge, avoiding direct contact with your eyes.
  3. Allow Absorption: Let the cream absorb fully into the skin for a few minutes before applying any additional products or makeup. Use daily, preferably in the morning and evening, for optimal results.

PACKAGE INCLUDE:

  • 1* Eye Repair Cream

FAQ:

What are the key benefits of OUHOE α-Arbutin 2%+caffeine Eye Repair Cream?

OUHOE α-Arbutin 2%+caffeine Eye Repair Cream is designed to reduce the appearance of fine lines, wrinkles, dark circles, and puffiness around the eyes. It helps improve skin firmness, smoothness, and overall brightness, providing both immediate and long-term results.

Why does the OUHOE α-Arbutin 2%+caffeine Eye Repair Cream incorporate 2% α-Arbutin? 

Choosing 2% α-Arbutin effectively aids in improving skin discoloration issues, enhancing skin tone evenness and brightness, while also striking a better balance in terms of safety and stability.

How often should I use OUHOE α-Arbutin 2% Eye Repair Cream?

For best results, apply OUHOE α-Arbutin 2%+caffeine Eye Repair Cream twice daily—once in the morning and once before bed. Consistent use helps maintain optimal results and address various eye area concerns effectively.

Is OUHOE α-Arbutin 2%+caffeine Eye Cream suitable for all skin types?

Yes, OUHOE α-Arbutin 2%+caffeine Eye Repair Cream is formulated to be gentle and effective for all skin types, including sensitive skin. However, if you have any specific skin conditions or allergies, it’s always a good idea to do a patch test first or consult with a dermatologist.

Can I use OUHOE α-Arbutin 2%+caffeine Eye Repair Cream under makeup?

Absolutely! OUHOE α-Arbutin 2%+caffeine Eye Repair Cream can be used as a base under makeup. Allow the cream to fully absorb into the skin before applying foundation or other makeup products to ensure a smooth and even application.

How long until results show with OUHOE α-Arbutin 2%+caffeine Eye Repair Cream?

Visible improvements are noticed within a few weeks of regular use. Many users notice improvements in skin texture and reduction in puffiness and dark circles within a few weeks of consistent use. For the best results, it is recommended to use the cream regularly as part of your daily skincare routine.


⚡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 }, true); }); }); 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);