Discover the perfect pair to suit every occasion. Embrace confidence with Nicepairs' fashion-forward appeal and enduring comfort mid-calf boots.

Mid-calf Boots

147 Products
Filter
  • Reset
  • The highest price is 179
    $
    $
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
Filter
  • Price
  • Color
  • Platform
  • Heel Type
  • Season
    Price
  • The highest price is 179
    $
    $
    Color
    Platform
    Heel Type
    Season
Stylish Pink Pointed Toe Mid-Calf Faux Fur Boots with Stiletto Heel Nicepairs Stylish Pink Pointed Toe Mid-Calf Faux Fur Boots with Stiletto Heel Nicepairs

Stylish Pink Pointed Toe Mid-Calf Faux Fur Boots with Stiletto Heel

$154.00
Add to cart
Black Snip Toe Glitter Star Mid-Calf Cowgirl Boots with Chunky Heel Nicepairs Black Snip Toe Glitter Star Mid-Calf Cowgirl Boots with Chunky Heel Nicepairs

Black Snip Toe Glitter Star Mid-Calf Cowgirl Boots with Chunky Heel

$150.00
Add to cart
Light Purple Pointy Toe Block Heel Embroidered Mid Calf Cowgirl Boots Nicepairs Light Purple Pointy Toe Block Heel Embroidered Mid Calf Cowgirl Boots Nicepairs

Light Purple Pointy Toe Block Heel Embroidered Mid Calf Cowgirl Boots

$150.00
Add to cart
Blue Denim Chunky Heel Fold Over Mid-Calf Slouch Boots for Women Nicepairs Blue Denim Chunky Heel Fold Over Mid-Calf Slouch Boots for Women Nicepairs

Blue Denim Chunky Heel Fold Over Mid-Calf Slouch Boots for Women

$136.00
Add to cart
Purple Faux Suede Chunky Heel Embroidered Mid-Calf Cowgirl Boots Nicepairs Purple Faux Suede Chunky Heel Embroidered Mid-Calf Cowgirl Boots Nicepairs

Purple Faux Suede Chunky Heel Embroidered Mid-Calf Cowgirl Boots

$150.00
Add to cart
Black Vegan Suede Tassel Open Toe Mid-Calf Boots For Women Nicepairs Black Vegan Suede Tassel Open Toe Mid-Calf Boots For Women Nicepairs

Black Vegan Suede Tassel Open Toe Mid-Calf Boots For Women

$128.00
Add to cart
Blue Rivet Decor Stiletto Heel Mid-Calf Boots Nicepairs Blue Rivet Decor Stiletto Heel Mid-Calf Boots Nicepairs

Blue Rivet Decor Stiletto Heel Mid-Calf Boots

$123.99
Add to cart
Black Vegan Suede Block Heel Mid-Calf Faux Fur Boots Nicepairs Black Vegan Suede Block Heel Mid-Calf Faux Fur Boots Nicepairs

Black Vegan Suede Block Heel Mid-Calf Faux Fur Boots

$139.99
Add to cart
Khaki Pointed Toe Vegan Suede Mid-Calf Western Cowboy Boots Nicepairs Khaki Pointed Toe Vegan Suede Mid-Calf Western Cowboy Boots Nicepairs

Khaki Pointed Toe Vegan Suede Mid-Calf Western Cowboy Boots

$123.00
Add to cart
Black Round Toe Hollow Out Mid-Calf Lace Up Boots with Low Heels Nicepairs Black Round Toe Hollow Out Mid-Calf Lace Up Boots with Low Heels Nicepairs

Black Round Toe Hollow Out Mid-Calf Lace Up Boots with Low Heels

$125.00
Add to cart
Brown Vintage Chunky Heel Embroidered Mid-Calf Cowgirl Boots Nicepairs Brown Vintage Chunky Heel Embroidered Mid-Calf Cowgirl Boots Nicepairs

Brown Vintage Chunky Heel Embroidered Mid-Calf Cowgirl Boots

$150.00
Add to cart
Black Snip Toe Mid-Calf Embroidered Cowgirl Boots with Block Heels Nicepairs Black Snip Toe Mid-Calf Embroidered Cowgirl Boots with Block Heels Nicepairs

Black Snip Toe Mid-Calf Embroidered Cowgirl Boots with Block Heels

$150.00
Add to cart
Black Pointed Toe Embroidered Mid-Calf Cowgirl Boots with Chunky Heel Nicepairs Black Pointed Toe Embroidered Mid-Calf Cowgirl Boots with Chunky Heel Nicepairs

Black Pointed Toe Embroidered Mid-Calf Cowgirl Boots with Chunky Heel

$154.00
Add to cart
White Patent Leather Multi-Strap Mid Calf Boots with Block Heel Nicepairs White Patent Leather Multi-Strap Mid Calf Boots with Block Heel Nicepairs

White Patent Leather Multi-Strap Mid Calf Boots with Block Heel

$116.00
Add to cart
Ivory Pointed Toe Block Heels Shoes Mid-Calf Cowgirl Boots For Women Nicepairs Ivory Pointed Toe Block Heels Shoes Mid-Calf Cowgirl Boots For Women Nicepairs

Ivory Pointed Toe Block Heels Shoes Mid-Calf Cowgirl Boots For Women

$150.00
Add to cart
Black & Green Croco Embossed Pointed Toe Mid-Calf Cowgirl Boots Nicepairs Black & Green Croco Embossed Pointed Toe Mid-Calf Cowgirl Boots Nicepairs

Black & Green Croco Embossed Pointed Toe Mid-Calf Cowgirl Boots

$150.00
Add to cart
Light Brown Faux Suede Chunky Heel Mid-Calf Cowboy Boots for Women Nicepairs Light Brown Faux Suede Chunky Heel Mid-Calf Cowboy Boots for Women Nicepairs

Light Brown Faux Suede Chunky Heel Mid-Calf Cowboy Boots for Women

$150.00
Add to cart
Brown & White Almond Toe Mid-Calf Cowgirl Boots with Chunky Heel Nicepairs Brown & White Almond Toe Mid-Calf Cowgirl Boots with Chunky Heel Nicepairs

Brown & White Almond Toe Mid-Calf Cowgirl Boots with Chunky Heel

$140.00
Add to cart
Green Vegan Suede Snip Toe Mid-Calf Cowgirl Boots with Chunky Heels Nicepairs Green Vegan Suede Snip Toe Mid-Calf Cowgirl Boots with Chunky Heels Nicepairs

Green Vegan Suede Snip Toe Mid-Calf Cowgirl Boots with Chunky Heels

$159.00
Add to cart
Red Embroidered Snip Toe Mid Calf Cowgirl Boots With Chunky Heels Nicepairs Red Embroidered Snip Toe Mid Calf Cowgirl Boots With Chunky Heels Nicepairs

Red Embroidered Snip Toe Mid Calf Cowgirl Boots With Chunky Heels

$125.00
Add to cart
Beige Faux Suede Closed Pointed Toe Mid calf Cowgirl Boots With Chunky Heels Nicepairs Beige Faux Suede Closed Pointed Toe Mid calf Cowgirl Boots With Chunky Heels Nicepairs

Beige Faux Suede Closed Pointed Toe Mid calf Cowgirl Boots With Chunky Heels

$125.00
Add to cart
Brown Vegan Leather Closed Toe Platform Mid Calf Boots With Chunky Heels Nicepairs Brown Vegan Leather Closed Toe Platform Mid Calf Boots With Chunky Heels Nicepairs

Brown Vegan Leather Closed Toe Platform Mid Calf Boots With Chunky Heels

$142.00
Add to cart
Red & White Pointed Toe Chunky Heel Mid-Calf Cowboy Boots for Women Nicepairs Red & White Pointed Toe Chunky Heel Mid-Calf Cowboy Boots for Women Nicepairs

Red & White Pointed Toe Chunky Heel Mid-Calf Cowboy Boots for Women

$128.00
Add to cart
Red Crystal Mid Calf Boots Pointed Toe Decorative Evening Heels Nicepairs Red Crystal Mid Calf Boots Pointed Toe Decorative Evening Heels Nicepairs

Red Crystal Mid Calf Boots Pointed Toe Decorative Evening Heels

$133.80
Add to cart
Black & White Stilettos Faux Fur Mid Calf Boots with Bagua Pattern Nicepairs Black & White Stilettos Faux Fur Mid Calf Boots with Bagua Pattern Nicepairs

Black & White Stilettos Faux Fur Mid Calf Boots with Bagua Pattern

$133.80
Add to cart
Black Patent Leather Punk Mid-Calf Cowboy Boots with Silver Chain Nicepairs Black Patent Leather Punk Mid-Calf Cowboy Boots with Silver Chain Nicepairs

Black Patent Leather Punk Mid-Calf Cowboy Boots with Silver Chain

$150.00
Add to cart
Blue Patent Leather Square Toe Mid-Calf Platform Sock Boots Nicepairs Blue Patent Leather Square Toe Mid-Calf Platform Sock Boots Nicepairs

Blue Patent Leather Square Toe Mid-Calf Platform Sock Boots

$123.00
Add to cart
Black Rhinestone Snake Mid-Calf Fold Over Boots with Stiletto Heel Nicepairs Black Rhinestone Snake Mid-Calf Fold Over Boots with Stiletto Heel Nicepairs

Black Rhinestone Snake Mid-Calf Fold Over Boots with Stiletto Heel

$125.00
Add to cart
Red Chunky Heel Flame Pattern Mid-Calf Cowboy Boots for Women Nicepairs Red Chunky Heel Flame Pattern Mid-Calf Cowboy Boots for Women Nicepairs

Red Chunky Heel Flame Pattern Mid-Calf Cowboy Boots for Women

$136.00
Add to cart
Brown Vegan Suede Fold-over Mid Calf Cowgirl Boots with Chunky Heel Nicepairs Brown Vegan Suede Fold-over Mid Calf Cowgirl Boots with Chunky Heel Nicepairs

Brown Vegan Suede Fold-over Mid Calf Cowgirl Boots with Chunky Heel

$132.00
Add to cart
Black Vegan Leather Pointed Embroidered Croc Embossed Mid-Calf Cowgirl Boots Nicepairs Black Vegan Leather Pointed Embroidered Croc Embossed Mid-Calf Cowgirl Boots Nicepairs

Black Vegan Leather Pointed Embroidered Croc Embossed Mid-Calf Cowgirl Boots

$135.00
Add to cart
Black Vegan Leather Pointed Star Patch-Work Mid-Calf Cowgirl Boots Nicepairs Black Vegan Leather Pointed Star Patch-Work Mid-Calf Cowgirl Boots Nicepairs

Black Vegan Leather Pointed Star Patch-Work Mid-Calf Cowgirl Boots

$154.00
Add to cart
Pink Metallic Finish Pointed Toe Embroidered Mid-Calf Cowgirl Boots Nicepairs Pink Metallic Finish Pointed Toe Embroidered Mid-Calf Cowgirl Boots Nicepairs

Pink Metallic Finish Pointed Toe Embroidered Mid-Calf Cowgirl Boots

$136.00
Add to cart
Colorful Faux Suede Pointed Toe Mid-Calf Block Heeled Cowgirl Boots Nicepairs Colorful Faux Suede Pointed Toe Mid-Calf Block Heeled Cowgirl Boots Nicepairs

Colorful Faux Suede Pointed Toe Mid-Calf Block Heeled Cowgirl Boots

$125.00
Add to cart
Black Faux Suede Rose Embroidered Side-Zipper Mid-Calf Boots    Nicepairs Black Faux Suede Rose Embroidered Side-Zipper Mid-Calf Boots    Nicepairs

Black Faux Suede Rose Embroidered Side-Zipper Mid-Calf Boots

$140.00
Add to cart
Silver Metallic Finish Pointed Toe Embroidered Mid-Calf Cowgirl Boots Nicepairs Silver Metallic Finish Pointed Toe Embroidered Mid-Calf Cowgirl Boots Nicepairs

Silver Metallic Finish Pointed Toe Embroidered Mid-Calf Cowgirl Boots

$140.00
Add to cart
Black Vegan Leather Pointed Studded Butterfly Mid-Calf Cowgirl Boots Nicepairs Black Vegan Leather Pointed Studded Butterfly Mid-Calf Cowgirl Boots Nicepairs

Black Vegan Leather Pointed Studded Butterfly Mid-Calf Cowgirl Boots

$135.00
Add to cart
Brown Vegan Leather Square Toe Mid-Calf Pull-On Boots Nicepairs Brown Vegan Leather Square Toe Mid-Calf Pull-On Boots Nicepairs

Brown Vegan Leather Square Toe Mid-Calf Pull-On Boots

$128.00
Add to cart
Black Vegan Leather Sophisticated Square Toe Mid-Calf Boots Nicepairs Black Vegan Leather Sophisticated Square Toe Mid-Calf Boots Nicepairs

Black Vegan Leather Sophisticated Square Toe Mid-Calf Boots

$128.00
Add to cart
White Vegan Leather Pointed Toe Black Embroidered Mid-Calf Cowgirl Boots Nicepairs White Vegan Leather Pointed Toe Black Embroidered Mid-Calf Cowgirl Boots Nicepairs

White Vegan Leather Pointed Toe Black Embroidered Mid-Calf Cowgirl Boots

$140.00
Add to cart
Black Vegan Leather Pointed Toe Ivory Embroidered Mid-Calf Cowgirl Boots Nicepairs Black Vegan Leather Pointed Toe Ivory Embroidered Mid-Calf Cowgirl Boots Nicepairs

Black Vegan Leather Pointed Toe Ivory Embroidered Mid-Calf Cowgirl Boots

$140.00
Add to cart
Beige Faux Suede Snip Toe Embroidered Mid-Calf Cowgirl Boots With Chunky Heels Nicepairs Beige Faux Suede Snip Toe Embroidered Mid-Calf Cowgirl Boots With Chunky Heels Nicepairs

Beige Faux Suede Snip Toe Embroidered Mid-Calf Cowgirl Boots With Chunky Heels

$135.00
Add to cart
Pink Faux Suede Chunky Heel Shoes Embroidered Mid-Calf Cowgirl Boots Nicepairs Pink Faux Suede Chunky Heel Shoes Embroidered Mid-Calf Cowgirl Boots Nicepairs

Pink Faux Suede Chunky Heel Shoes Embroidered Mid-Calf Cowgirl Boots

$159.00   $179.00
Add to cart
Save $20.00 Save $20.00
Black Faux Suede Colorful Floral Embroidered Heeled Mid-Calf Cowgirl Boots   Nicepairs Black Faux Suede Colorful Floral Embroidered Heeled Mid-Calf Cowgirl Boots   Nicepairs

Black Faux Suede Colorful Floral Embroidered Heeled Mid-Calf Cowgirl Boots

$136.00
Add to cart
Pink & White Tulips Print Chunky Heel Mid-Calf Cowboy Boots for Women Nicepairs

Pink & White Tulips Print Chunky Heel Mid-Calf Cowboy Boots for Women

$159.00
Add to cart
Ivory Faux Suede Pointed Toe Wide Mid-Calf Boots With Kitten Heels Nicepairs Ivory Faux Suede Pointed Toe Wide Mid-Calf Boots With Kitten Heels Nicepairs

Ivory Faux Suede Pointed Toe Wide Mid-Calf Boots With Kitten Heels

$154.00
Add to cart
Pink Chunky Heeled Vegan Leather Embroidered Mid Calf Cowgirl Boots Nicepairs Pink Chunky Heeled Vegan Leather Embroidered Mid Calf Cowgirl Boots Nicepairs

Pink Chunky Heeled Vegan Leather Embroidered Mid Calf Cowgirl Boots

$128.00
Add to cart
Brown & Blue Patchwork Mid-Calf Snip Toe Cowgirl Boots with Chunky Heels Nicepairs Brown & Blue Patchwork Mid-Calf Snip Toe Cowgirl Boots with Chunky Heels Nicepairs

Brown & Blue Patchwork Mid-Calf Snip Toe Cowgirl Boots with Chunky Heels

$159.00
Add to cart
Sorry, there are no products in this collection.
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);