ARMAX 3-in-1 Concealer Full Coverage for Acne, Dark Circles & Redness

$29.95
const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = '9e707279-c01b-4fb5-b5c4-fdcfe15bbd41'; this.isRTL = SPZ.win.document.dir === 'rtl'; this.isAddingToCart_ = false; // 加购中状态 } static deferredMount() { return false; } buildCallback() { this.action_ = SPZServices.actionServiceForDoc(this.element); this.templates_ = SPZServices.templatesForDoc(this.element); this.xhr_ = SPZServices.xhrFor(this.win); this.setupAction_(); this.viewport_ = this.getViewport(); } mountCallback() { this.init(); // 监听事件 this.bindEvent_(); } async init() { this.handleFitTheme(); const data = await this.getDiscountList(); this.renderApiData_(data); } async getDiscountList() { const productId = '14eff3b0-2ef9-4837-98ea-ffbed183dce8'; const variantId = this.variant_id; const productType = 'default'; const reqBody = { product_id: productId, variant_id: variantId, discount_method: "DM_AUTOMATIC", customer: { customer_id: window.C_SETTINGS.customer.customer_id, email: window.C_SETTINGS.customer.customer_email }, product_type: productType } const url = `/api/storefront/promotion/display_setting/text/list`; const data = await this.xhr_.fetchJson(url, { method: "post", body: reqBody }).then(res => { return res; }).catch(err => { this.setContainerDisabled(false); }) return data; } async renderDiscountList() { this.setContainerDisabled(true); const data = await this.getDiscountList(); this.setContainerDisabled(false); // 重新渲染 抖动问题处理 this.renderApiData_(data); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } async renderApiData_(data) { const parentDiv = document.querySelector('.automatic_discount_container'); const newTplDom = await this.getRenderTemplate(data); if (parentDiv) { parentDiv.innerHTML = ''; parentDiv.appendChild(newTplDom); } else { console.log('automatic_discount_container is null'); } } doRender_(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, renderData) .then((el) => { this.clearDom(); this.element.appendChild(el); }); } async getRenderTemplate(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, { ...renderData, isRTL: this.isRTL }) .then((el) => { this.clearDom(); return el; }); } setContainerDisabled(isDisable) { const automaticDiscountEl = document.querySelector('.automatic_discount_container_outer'); if(isDisable) { automaticDiscountEl.setAttribute('disabled', ''); } else { automaticDiscountEl.removeAttribute('disabled'); } } // 绑定事件 bindEvent_() { window.addEventListener('click', (e) => { let containerNodes = document.querySelectorAll(".automatic-container .panel"); let bool; Array.from(containerNodes).forEach((node) => { if(node.contains(e.target)){ bool = true; } }) // 是否popover面板点击范围 if (bool) { return; } if(e.target.classList.contains('drowdown-icon') || e.target.parentNode.classList.contains('drowdown-icon')){ return; } const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { node.classList.remove('open-dropdown'); }) // 兼容主题 this.toggleProductSticky(true); }) // 监听变体变化 document.addEventListener('dj.variantChange', async(event) => { // 重新渲染 const variant = event.detail.selected; if (variant.product_id == '14eff3b0-2ef9-4837-98ea-ffbed183dce8' && variant.id != this.variant_id) { this.variant_id = variant.id; this.renderDiscountList(); } }); } // 兼容主题 handleFitTheme() { // top 属性影响抖动 let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ productInfoEl.classList.add('force-top-auto'); } } // 兼容 wind/flash /hero 主题 (sticky属性影响 popover 层级展示, 会被其他元素覆盖) toggleProductSticky(isSticky) { let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ if(isSticky) { // 还原该主题原有的sticky属性值 productInfoEl.classList.remove('force-position-static'); return; } productInfoEl.classList.toggle('force-position-static'); } } setupAction_() { this.registerAction('handleDropdown', (invocation) => { const discount_id = invocation.args.discount_id; const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { if(node.getAttribute('id') != `automatic-${discount_id}`) { node.classList.remove('open-dropdown'); } }) const $discount_item = document.querySelector(`#automatic-${discount_id}`); $discount_item && $discount_item.classList.toggle('open-dropdown'); // 兼容主题 this.toggleProductSticky(); }); // 加购事件 this.registerAction('handleAddToCart', (invocation) => { // 阻止事件冒泡 const event = invocation.event; if (event) { event.stopPropagation(); event.preventDefault(); } // 如果正在加购中,直接返回 if (this.isAddingToCart_) { return; } const quantity = invocation.args.quantity || 1; this.addToCart(quantity); }); } // 加购方法 async addToCart(quantity) { // 设置加购中状态 this.isAddingToCart_ = true; const productId = '14eff3b0-2ef9-4837-98ea-ffbed183dce8'; const variantId = this.variant_id; const url = '/api/cart'; const reqBody = { product_id: productId, variant_id: variantId, quantity: quantity }; try { const data = await this.xhr_.fetchJson(url, { method: 'POST', body: reqBody }); // 触发加购成功提示 this.triggerAddToCartToast_(); return data; } catch (error) { error.then(err=>{ this.showToast_(err?.message || err?.errors?.[0] || 'Unknown error'); }) } finally { // 无论成功失败,都重置加购状态 this.isAddingToCart_ = false; } } showToast_(message) { const toastEl = document.querySelector("#apps-match-drawer-add_to_cart_toast"); if (toastEl) { SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast(message); }); } } // 触发加购成功提示 triggerAddToCartToast_() { // 如果主题有自己的加购提示,则不显示 const themeAddToCartToastEl = document.querySelector('#add-cart-event-proxy'); if (themeAddToCartToastEl) return; // 显示应用的加购成功提示 this.showToast_("Added successfully"); } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, `${ TAG }.${ name }`, data || {}); this.action_.trigger(this.element, name, event); } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } } SPZ.defineElement(TAG, SpzCustomProductAutomatic);
class SpzCustomDiscountBundle extends SPZ.BaseElement { constructor(element) { super(element); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } mountCallback() {} unmountCallback() {} setupAction_() { this.registerAction('showAddToCartToast', () => { const themeAddToCartToastEl = document.querySelector('#add-cart-event-proxy') if(themeAddToCartToastEl) return const toastEl = document.querySelector('#apps-match-drawer-add_to_cart_toast') SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast("Added successfully"); }); }); } buildCallback() { this.setupAction_(); }; } SPZ.defineElement('spz-custom-discount-toast', SpzCustomDiscountBundle);
Quantity

Description

Suitable For All Face Types, Skin Tones And Ages!

FULL COVERAGE CONCEALER

Full face contour cream palette and concealer, cover dark circles,spots,pock marks,to create skin.Invisible pores,covering dull,brighten skin tone,showing a natural makeup. Give you a natural flawless look

LONG-LASTING & WATERPROOF PALETTE

Waterproof and sweat-proof,our cosmetics concealer is light and thin,breathable,easy to mix,hide the pores,skin smooth, lasting makeup.

3-COLOR CONCEALER

3 different shades:brightening, natural and healthy colors. Full coverage concealer to cover up blemishes, dark circles and dullness to achieve a flawless complexion. Formulated with skin-caring botanical ingredients to hydrate, smooth and nourish skin.Our cosmetic Concealer cream is light, breathable, easy to mix, hide pores, smooth skin, and durable makeup!

CONCEALER CREAM FOUNDATION PALETTE

The cream is silky and smooth, with moisturizing ingredients added, it is very easy to apply. Concealer of all colors can be mixed and used, you can mix the color that suits your skin tone by yourself, and blend perfectly with your skin.

MOISTURIZING & REFRESHING

Contains moisturizing ingredients to nourish the skin while hiding imperfections, soft, non-sticky and durable. The Tri-Color Concealer won’t clog pores and build fresh looking for a whole day.

PRECISION APPLICATION WITH INCLUDED BRUSH

The palette comes complete with a high-quality brush designed for precise application. Achieve seamless blending and contouring with the ergonomic design of our brush, ensuring professional-looking results every time.

FEATURE:

  • For All Skin Tones:Reduce redness and correct uneven skin tone.Auto color correction is based on your own skin tone. 

    Excellent Oil Controlling:No clogging of skin pores,preventing acne breakouts.Rejuvenating formula retains skin elasticity and moisture.

    Long-Lasting,Waterproof and Sweatproof:Stays long and keeps soft coverage without greasy feeling.

    For All Skin Types:Ideal for oily,dry,combination,acne,sensitive skin or even red skin.

    Easy To Carry:Packaged in a sleek,travel-friendly,very convenient to carry.it is very suitable for daily use or when traveling.You can mix the color that suits your skin tone by yourself,and blend perfectly with your skin.

    HOW TO USE CONCEALER

    • Master the order of application of concealer

      The correct order of application of concealer is after foundation and before loose powder or loose powder.

    • Learn to apply makeup with your fingers

      Human fingers are actually the best makeup tools. The natural temperature of your fingers allows the concealer to adhere to the skin and spread evenly

    • Learn to choose the color of your concealer

      Different shades of concealer have different effects on different areas. For example: for dark circles, orange shades are best; for acne-prone and reddened skin, green shades have been shown to be the most effective; when you need to lighten stains, you should choose the Shades to match skin tones.

    • Cover wrinkles with concealer

      Wrinkles and fine lines on the face are irresistible signs of aging. If you can't even cover the foundation, you can only rely on concealer in the end.

    • Get the most out of your concealer

      Another unique way to get the most out of your concealer is to mix it with other products. For example, if we want to cover dark circles, we can mix a small amount of concealer and eye cream together, and then apply it to the eyes, corners of the mouth, etc., which can lighten the shadows on the face and make the makeup look more natural and healthy.