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

Mid-calf Boots

319 Products
Filter
  • Reset
  • The highest price is 169
    $
    $
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
Filter
  • Price
  • Color
  • Heel Height
  • Heel Type
  • Toe Style
  • Platform
  • Occasion
  • Accents
    Price
  • The highest price is 169
    $
    $
    Color
    Heel Height
    Heel Type
    Toe Style
    Platform
    Occasion
    Accents
Brown Vegan Suede Pointed Toe Kitten Heel Mid Calf Boots with Zipper Nicepairs Brown Vegan Suede Pointed Toe Kitten Heel Mid Calf Boots with Zipper Nicepairs

Brown Vegan Suede Pointed Toe Kitten Heel Mid Calf Boots with Zipper

$120.00
Add to cart
Black Studded Fringe Pointed Toe Chunky Heel Mid Calf Boots for Women Nicepairs Black Studded Fringe Pointed Toe Chunky Heel Mid Calf Boots for Women Nicepairs

Black Studded Fringe Pointed Toe Chunky Heel Mid Calf Boots for Women

$150.00
Add to cart
Beige & Tan Ostrich Embossed Embroidered Mid-Calf Cowgirl Boots Nicepairs Beige & Tan Ostrich Embossed Embroidered Mid-Calf Cowgirl Boots Nicepairs

Beige & Tan Ostrich Embossed Embroidered Mid-Calf Cowgirl Boots

$150.00
Add to cart
Red Crocodile Embossed Snip Toe Chunky Heel Mid-Calf Cowgirl Boots Nicepairs Red Crocodile Embossed Snip Toe Chunky Heel Mid-Calf Cowgirl Boots Nicepairs

Red Crocodile Embossed Snip Toe Chunky Heel Mid-Calf Cowgirl Boots

$136.00
Add to cart
Black & White Pointed Toe Botanical Detail Western Mid-Calf Boots Nicepairs Black & White Pointed Toe Botanical Detail Western Mid-Calf Boots Nicepairs

Black & White Pointed Toe Botanical Detail Western Mid-Calf Boots

$135.00
Add to cart
Black Pointed Toe Chunky Heel Patchwork Detail Mid-Calf Cowgirl Boots Nicepairs Black Pointed Toe Chunky Heel Patchwork Detail Mid-Calf Cowgirl Boots Nicepairs

Black Pointed Toe Chunky Heel Patchwork Detail Mid-Calf Cowgirl Boots

$154.00
Add to cart
Elegant White Low Chunky Heel Round Toe Mid-Calf Cowgirl Boots Nicepairs Elegant White Low Chunky Heel Round Toe Mid-Calf Cowgirl Boots Nicepairs

Elegant White Low Chunky Heel Round Toe Mid-Calf Cowgirl Boots

$150.00
Add to cart
Elegant White Snip Toe Embroidered Mid-Calf Cowgirl Boots with Pearls Nicepairs Elegant White Snip Toe Embroidered Mid-Calf Cowgirl Boots with Pearls Nicepairs

Elegant White Snip Toe Embroidered Mid-Calf Cowgirl Boots with Pearls

$154.00
Add to cart
Blue Denim Pointed Toe 3‘’ Chunky Heel Fold Over Mid-Calf Slouch Boots Nicepairs Blue Denim Pointed Toe 3‘’ Chunky Heel Fold Over Mid-Calf Slouch Boots Nicepairs

Blue Denim Pointed Toe 3‘’ Chunky Heel Fold Over Mid-Calf Slouch Boots

$136.00
Add to cart
Brown Python Snip Toe Chunky Heel Mid-Calf Cowgirl Boots for Women Nicepairs Brown Python Snip Toe Chunky Heel Mid-Calf Cowgirl Boots for Women Nicepairs

Brown Python Snip Toe Chunky Heel Mid-Calf Cowgirl Boots for Women

$159.00
Add to cart
Orange & Brown Crocodile Pattern Chunky Heel Mid-Calf Cowgirl Boots Nicepairs Orange & Brown Crocodile Pattern Chunky Heel Mid-Calf Cowgirl Boots Nicepairs

Orange & Brown Crocodile Pattern Chunky Heel Mid-Calf Cowgirl Boots

$160.00
Add to cart
Tan Faux Suede Snip Toe Chunky Heel Fringe Mid-Calf Cowgirl Boots Nicepairs Tan Faux Suede Snip Toe Chunky Heel Fringe Mid-Calf Cowgirl Boots Nicepairs

Tan Faux Suede Snip Toe Chunky Heel Fringe Mid-Calf Cowgirl Boots

$169.00
Add to cart
Pink Snip Toe Block Heel Mid-Calf Cowgirl Boots with Flowers Nicepairs Pink Snip Toe Block Heel Mid-Calf Cowgirl Boots with Flowers Nicepairs

Pink Snip Toe Block Heel Mid-Calf Cowgirl Boots with Flowers

$145.00
Add to cart
Black Snip Toe Block Heel Mid-Calf Embroidered Cowgirl Boots Nicepairs Black Snip Toe Block Heel Mid-Calf Embroidered Cowgirl Boots Nicepairs

Black Snip Toe Block Heel Mid-Calf Embroidered Cowgirl Boots

$145.00
Add to cart
Yellow & Purple Pointy Toe Block Heel Mid-Calf Cowgirl Boots for Party Nicepairs Yellow & Purple Pointy Toe Block Heel Mid-Calf Cowgirl Boots for Party Nicepairs

Yellow & Purple Pointy Toe Block Heel Mid-Calf Cowgirl Boots for Party

$139.00
Add to cart
Beige & Dark Blue Pointy Toe Block Heel Mid-Calf Leaf Western Boots Nicepairs Beige & Dark Blue Pointy Toe Block Heel Mid-Calf Leaf Western Boots Nicepairs

Beige & Dark Blue Pointy Toe Block Heel Mid-Calf Leaf Western Boots

$139.00
Add to cart
Blue & Green Pointy Toe Block Heel Mid-Calf Cowgirl Boots for Women Nicepairs Blue & Green Pointy Toe Block Heel Mid-Calf Cowgirl Boots for Women Nicepairs

Blue & Green Pointy Toe Block Heel Mid-Calf Cowgirl Boots for Women

$139.00
Add to cart
Pink Faux Suede Pointy Toe Block Heel Mid-Calf Leaf Cowgirl Boots Nicepairs Pink Faux Suede Pointy Toe Block Heel Mid-Calf Leaf Cowgirl Boots Nicepairs

Pink Faux Suede Pointy Toe Block Heel Mid-Calf Leaf Cowgirl Boots

$139.00
Add to cart
Beige & Brown Round Toe Embroidered Mid-Calf Western Cowgirl Boots Nicepairs Beige & Brown Round Toe Embroidered Mid-Calf Western Cowgirl Boots Nicepairs

Beige & Brown Round Toe Embroidered Mid-Calf Western Cowgirl Boots

$154.00
Add to cart
Red & Ivory Pointed Toe Inlay Mid-Calf Cowgirl Boots with Chunky Heel Nicepairs Red & Ivory Pointed Toe Inlay Mid-Calf Cowgirl Boots with Chunky Heel Nicepairs

Red & Ivory Pointed Toe Inlay Mid-Calf Cowgirl Boots with Chunky Heel

$139.00
Add to cart
Lavender Flower Inlay Snip Toe Chunky Heel Mid-Calf Cowgirl Boots Nicepairs Lavender Flower Inlay Snip Toe Chunky Heel Mid-Calf Cowgirl Boots Nicepairs

Lavender Flower Inlay Snip Toe Chunky Heel Mid-Calf Cowgirl Boots

$146.00
Add to cart
Brown Vegan Suede Pull Tab Mid-Calf Slouch Boots with Cone Heel Nicepairs Brown Vegan Suede Pull Tab Mid-Calf Slouch Boots with Cone Heel Nicepairs

Brown Vegan Suede Pull Tab Mid-Calf Slouch Boots with Cone Heel

$129.00
Add to cart
Black Vegan Suede Pointed Toe Cone Heel Pull Tab Mid Calf Boots Nicepairs Black Vegan Suede Pointed Toe Cone Heel Pull Tab Mid Calf Boots Nicepairs

Black Vegan Suede Pointed Toe Cone Heel Pull Tab Mid Calf Boots

$129.00
Add to cart
Gold Metallic Slip Toe Chunky Heel Star Inlay Mid-Calf Cowgirl Boots Nicepairs Gold Metallic Slip Toe Chunky Heel Star Inlay Mid-Calf Cowgirl Boots Nicepairs

Gold Metallic Slip Toe Chunky Heel Star Inlay Mid-Calf Cowgirl Boots

$150.00
Add to cart
Pink & Brown Patchwork Embroidered Square Toe Mid-Calf Cowgirl Boots Nicepairs Pink & Brown Patchwork Embroidered Square Toe Mid-Calf Cowgirl Boots Nicepairs

Pink & Brown Patchwork Embroidered Square Toe Mid-Calf Cowgirl Boots

$146.00
Add to cart
Brown Square Toe Chunky Heel Mid-Calf Cowgirl Boots with Embroidery Nicepairs Brown Square Toe Chunky Heel Mid-Calf Cowgirl Boots with Embroidery Nicepairs

Brown Square Toe Chunky Heel Mid-Calf Cowgirl Boots with Embroidery

$146.00
Add to cart
Black Embroidered Square Toe Chunky Heel Mid-Calf Cowgirl Boots Nicepairs Black Embroidered Square Toe Chunky Heel Mid-Calf Cowgirl Boots Nicepairs

Black Embroidered Square Toe Chunky Heel Mid-Calf Cowgirl Boots

$146.00
Add to cart
Black Classic Pointed Toe Chunky Heel Mid-Calf Cowgirl Boots for Women Nicepairs Black Classic Pointed Toe Chunky Heel Mid-Calf Cowgirl Boots for Women Nicepairs

Black Classic Pointed Toe Chunky Heel Mid-Calf Cowgirl Boots for Women

$146.00
Add to cart
Black Almond Toe Chunky Heel Mid-Calf Cowgirl Boots with Embroidery Nicepairs Black Almond Toe Chunky Heel Mid-Calf Cowgirl Boots with Embroidery Nicepairs

Black Almond Toe Chunky Heel Mid-Calf Cowgirl Boots with Embroidery

$154.00
Add to cart
Blue Denim Almond Toe Chunky Heel Stitching Mid-Calf Cowgirl Boots Nicepairs Blue Denim Almond Toe Chunky Heel Stitching Mid-Calf Cowgirl Boots Nicepairs

Blue Denim Almond Toe Chunky Heel Stitching Mid-Calf Cowgirl Boots

$154.00
Add to cart
Black Embroidered Round Toe Chunky Heel Mid-Calf Cowgirl Boots Nicepairs Black Embroidered Round Toe Chunky Heel Mid-Calf Cowgirl Boots Nicepairs

Black Embroidered Round Toe Chunky Heel Mid-Calf Cowgirl Boots

$154.00
Add to cart
Black Square Toe Block Heel Mid-Calf Cowgirl Boots with Stitching Nicepairs Black Square Toe Block Heel Mid-Calf Cowgirl Boots with Stitching Nicepairs

Black Square Toe Block Heel Mid-Calf Cowgirl Boots with Stitching

$154.00
Add to cart
Black Stitching Pull-On Pointed Toe Chunky Heel Mid-Calf Cowgirl Boots Nicepairs Black Stitching Pull-On Pointed Toe Chunky Heel Mid-Calf Cowgirl Boots Nicepairs

Black Stitching Pull-On Pointed Toe Chunky Heel Mid-Calf Cowgirl Boots

$154.00
Add to cart
Red Snip Toe Chunky Heel Mid-Calf Cowgirl Boots with Embroidery Nicepairs Red Snip Toe Chunky Heel Mid-Calf Cowgirl Boots with Embroidery Nicepairs

Red Snip Toe Chunky Heel Mid-Calf Cowgirl Boots with Embroidery

$154.00
Add to cart
Black Vintage Embroidered Round Toe Chunky Heel Mid-Calf Cowgirl Boots Nicepairs Black Vintage Embroidered Round Toe Chunky Heel Mid-Calf Cowgirl Boots Nicepairs

Black Vintage Embroidered Round Toe Chunky Heel Mid-Calf Cowgirl Boots

$154.00
Add to cart
Black Stitching Pull-On Square Toe Chunky Heel Mid-Calf Cowgirl Boots Nicepairs Black Stitching Pull-On Square Toe Chunky Heel Mid-Calf Cowgirl Boots Nicepairs

Black Stitching Pull-On Square Toe Chunky Heel Mid-Calf Cowgirl Boots

$154.00
Add to cart
Brown Square Toe Block Heel Mid Calf Boots with Buckle Strap Design Nicepairs Brown Square Toe Block Heel Mid Calf Boots with Buckle Strap Design Nicepairs

Brown Square Toe Block Heel Mid Calf Boots with Buckle Strap Design

$136.00
Add to cart
Black Buckle Strap Pointed Toe Kitten Heel Zipper Mid Calf Boots Nicepairs Black Buckle Strap Pointed Toe Kitten Heel Zipper Mid Calf Boots Nicepairs

Black Buckle Strap Pointed Toe Kitten Heel Zipper Mid Calf Boots

$146.00
Add to cart
Blue Pointed Toe Chunky Heel Mid-Calf Cowgirl Boots with Back Zipper Nicepairs Blue Pointed Toe Chunky Heel Mid-Calf Cowgirl Boots with Back Zipper Nicepairs

Blue Pointed Toe Chunky Heel Mid-Calf Cowgirl Boots with Back Zipper

$139.00
Add to cart
Ivory & Green Snip Toe Low Heel Mid-Calf Cowgirl Boots with Embroidery Nicepairs Ivory & Green Snip Toe Low Heel Mid-Calf Cowgirl Boots with Embroidery Nicepairs

Ivory & Green Snip Toe Low Heel Mid-Calf Cowgirl Boots with Embroidery

$154.00
Add to cart
Brown Floral Embroidered Square Toe Low Heel Mid-Calf Cowgirl Boots Nicepairs Brown Floral Embroidered Square Toe Low Heel Mid-Calf Cowgirl Boots Nicepairs

Brown Floral Embroidered Square Toe Low Heel Mid-Calf Cowgirl Boots

$154.00
Add to cart
Maroon & Brown Square Toe Mid-Calf Cowgirl Boots with Embroidery Nicepairs Maroon & Brown Square Toe Mid-Calf Cowgirl Boots with Embroidery Nicepairs

Maroon & Brown Square Toe Mid-Calf Cowgirl Boots with Embroidery

$154.00
Add to cart
Brown Vegan Leather Pull-On Square Toe Mid Calf Boots with Block Heel Nicepairs Brown Vegan Leather Pull-On Square Toe Mid Calf Boots with Block Heel Nicepairs

Brown Vegan Leather Pull-On Square Toe Mid Calf Boots with Block Heel

$140.00
Add to cart
Yellow Pull-On Square Toe Block Heel Mid Calf Boots for Women Nicepairs Yellow Pull-On Square Toe Block Heel Mid Calf Boots for Women Nicepairs

Yellow Pull-On Square Toe Block Heel Mid Calf Boots for Women

$140.00
Add to cart
Olive Pointed Toe Stiletto Heel Mid-Calf Slouch Boots for Women Nicepairs Olive Pointed Toe Stiletto Heel Mid-Calf Slouch Boots for Women Nicepairs

Olive Pointed Toe Stiletto Heel Mid-Calf Slouch Boots for Women

$150.00
Add to cart
Vegan Suede Stripes Pointed Toe Mid-Calf Stiletto Heel Boots in Maroon Nicepairs Vegan Suede Stripes Pointed Toe Mid-Calf Stiletto Heel Boots in Maroon Nicepairs

Vegan Suede Stripes Pointed Toe Mid-Calf Stiletto Heel Boots in Maroon

$150.00
Add to cart
Brown Pointed Toe Stiletto Heel Mid-Calf Slouch Boots with Stripes Nicepairs Brown Pointed Toe Stiletto Heel Mid-Calf Slouch Boots with Stripes Nicepairs

Brown Pointed Toe Stiletto Heel Mid-Calf Slouch Boots with Stripes

$150.00
Add to cart
Tan Faux Fur Decor Pointed Toe Chunky Heel Mid-Calf Cowgirl Boots Nicepairs Tan Faux Fur Decor Pointed Toe Chunky Heel Mid-Calf Cowgirl Boots Nicepairs

Tan Faux Fur Decor Pointed Toe Chunky Heel Mid-Calf Cowgirl Boots

$140.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('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);