Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
1 / 20
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
Legging galbant ultra-fin pour modeler les jambes
25% OFF
elfangy.cc

Legging galbant ultra-fin pour modeler les jambes

€29.99 €39.99
16 ventes
Couleur
Taille
Quantité

Remarque : 99 % des évaluateurs recommandent ce produit.

  • Les vendeurs certifiés PalPay ont une bonne réputation.
  • Officiellement recommandé par Facebook pour les vendeurs de qualité.
  • Un acompte vendeur de 100 000 $ a été versé à PayPal.
  • Prend en charge les paiements PalPay et par carte de crédit dans le monde entier.
  • Le certificat de sécurité SSL de Google garantit votre confidentialité.
  • Expédition ultra rapide dans le monde entier.
  • Jusqu'à 30 jours de garantie après vente.

Convient pour un poids de 80 à 200 kg "

Voyez ce que nos clients satisfaits ont à dire :

 

Depuis que j'ai commencé à porter des leggings ultra-fins, ma silhouette a également montré sa silhouette. J'aime le changement que cela m'a apporté. Avant, j'étais une personne obèse et souffrais toujours de problèmes lymphatiques, comme des chevilles, des jambes et des pieds enflés. Mais maintenant, tout cela appartient à l'histoire. J'ai maintenant plus d'énergie et mène une vie plus active qu'avant. Je me sens plus légère et plus sûre de moi et de mon apparence.

 
 
Tanya Cranston, 33 ans, Brooklyn, New York

J'ai toujours été en surpoids, mais dernièrement, j'ai l'impression de peser plus que jamais. Je cherchais quelque chose qui m'aiderait à me remettre en forme sans avoir à faire le "travail acharné" que tout le monde vous dit de faire. Quand mon amie m'a parlé de son expérience avec des leggings super skinny amincissants pour les jambes, j'ai pensé qu'ils valaient la peine d'essayer. Et maintenant? Mon copain ne se plaint plus que j'ai l'air grosse. Elle n'arrête pas de me dire à quel point ma taille s'est amincie, et ça a l'air mieux que tout ce que nous avons jamais essayé !

 
 
Patrice Moore, 29 ans, Hazlet, New Jersey

Qu'est-ce que la réflexologie plantaire et comment aide-t-elle à perdre du poids ?

La réflexologie plantaire est un type de massage qui consiste à appliquer différentes pressions sur les pieds. Il est basé sur la théorie selon laquelle ces parties du corps sont connectées à certains organes et systèmes corporels. Les personnes qui pratiquent cette technique sont appelées réflexologues.

Quels sont les points de pression pour perdre du poids ?

  • L' hypothalamus est souvent désigné comme l'organe principal du système hormonal qui affecte la fonction de la glande pituitaire, de la glande pinéale, de la thyroïde, des glandes surrénales et des ovaires/testicules, à la fois directement et indirectement. L'hypothalamus est une partie du cerveau qui régule également la fonction hormonale, créant un "point de consigne" pour le métabolisme et régulant l'appétit. 
  • L' hypophyse est une glande de la taille d'un pois située à la base du cerveau. En réponse aux signaux du cerveau et d'autres glandes du corps, l'hypophyse sécrète des hormones qui contrôlent la croissance, le développement, la fonction sexuelle et le métabolisme. Sa fonction principale est la sécrétion de presque toutes les hormones du corps.
  • La fonction principale de la glande thyroïde est de produire des hormones qui contrôlent le métabolisme. Se concentrer sur la glande thyroïde pendant la réflexologie plantaire permet au corps de réguler le poids corporel, la force musculaire et le taux de cholestérol.
  • Lorsqu'elles sont stimulées, les glandes surrénales produisent un certain nombre d'hormones, dont le cortisol, qui est une hormone qui peut ronger vos muscles et vous aider à perdre du poids. Lorsque les niveaux de cortisol sont élevés, c'est comme si cela se produisait et la prise de poids peut en être la cause. Une surproduction de cortisol à partir de la tumeur surrénalienne provoque des modifications du tissu adipeux corporel au niveau cellulaire.
  • La fonction principale de ce point de réflexologie est d'activer le système excréteur pour libérer les liquides en excès de notre corps. Une vessie défectueuse accumule des toxines qui causent des infections telles que les infections des voies urinaires. Des séances régulières de réflexologie plantaire axées sur la vessie peuvent détoxifier les reins, l'uretère et la vessie.

Comment fonctionnent ces leggings ?

MINCE ET FORME LE CORPS. Il raffermit également efficacement les jambes et aplatit le ventre pour un look plus mince.

SUPER ÉLASTIQUE ET LÉGER. Cela n'ajoute pas une sensation volumineuse lorsqu'il est porté seul ou sous des vêtements vous permettant de vous déplacer sans restriction.

Jetons un coup d'œil à la transformation du corps de Bella à l'aide de leggings ultra-maigres et flatteurs pour les jambes :

semaine  1

Je veux avoir un corps galbé, mais mon ventre bombé est très peu attrayant. C'est pourquoi j'ai essayé de trouver un produit qui m'aiderait à réduire la graisse du ventre sans faire d'entraînement intense, car je n'ai pas beaucoup de temps pour cela. J'ai donc décidé de m'acheter ces leggings super amincissants pour les jambes. Au cours de la première semaine, j'ai remarqué que mes fringales avaient diminué et que j'avais plus d'énergie.

semaine  4

C'était un tel plaisir qu'après la semaine 4, j'ai incorporé la course pendant quelques minutes par jour après le travail et j'ai continué à utiliser cet anneau. Les résultats étaient bons et j'ai commencé à développer mes muscles abdominaux simplement en ajoutant quelques craquements après avoir couru. Je suis très contente!

semaine  8

Cela fait 2 mois et les résultats sont incroyables ! Je suis très satisfaite de ce produit, il m'a aidé à modeler mon corps comme je ne pouvais que le rêver. J'ai également remarqué que mon métabolisme est plus rapide maintenant et que ma circulation sanguine s'est améliorée car je ne ressens plus de gonflement dans mon corps comme avant. Quels bons leggings !

 
 
Bella Pullman, 30 ans, Cheyenne, Wyoming

Buyer Show (convient à tous les types de corps, gras ou court)

TISSU DE HAUTE QUALITÉ

 La version améliorée de nos leggings haut de gamme pour femmes est fabriquée en nylon lisse.

Teinture de haute qualité, soyez assuré que le nettoyage est grand teint

Meilleure respirabilité que les autres marques, vous permet de vous sentir à l'aise et au frais.

Écran FAQ après-vente :

Et si j'ai acheté la mauvaise taille ?

Y a t-il une garantie?

Spécifications :

  • Couleurs : Noir et couleur chair

Contenu du forfait :

  • 1 x Leggings de mise en forme ultra-minces pour la mise en forme des jambes

87.3% des clients ont également acheté Je n'aime pas ça?

❤️ASTUCE : Tous nos produits sont authentiques, avec de vrais brevets, les contrefaçons doivent être examinées ! Veuillez marquer nos produits !!!

😊Si vous n'êtes pas satisfait des articles reçus, veuillez nous contacter dans les 15 jours suivant la réception et nous vous apporterons la meilleure assistance possible !

🚢Livraison >> Livraison express efficace disponible dans toute la France.

🔥98,9 % de nos clients achètent 2 articles ou plus. Obtenez le vôtre dès maintenant !

Si vous avez encore des questions, veuillez nous contacter directement à l'adresse e-mail 👉 service@bonusvogue.com

émettre un commentaire
Commentaire de clients
tu as atteint le fond
Le plus récent
Le plus aimé
Meilleures notes
Notes les plus basses
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.
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('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);