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

Mid-calf Boots

154 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
Black Snip Toe White Stars Pattern Chunky Heel Mid-Calf Cowgirl Boots Nicepairs Black Snip Toe White Stars Pattern Chunky Heel Mid-Calf Cowgirl Boots Nicepairs

Black Snip Toe White Stars Pattern Chunky Heel Mid-Calf Cowgirl Boots

$154.00
Add to cart
Black Sophisticated Square Toe Mid-Calf Chunky Heel Boots for Women Nicepairs Black Sophisticated Square Toe Mid-Calf Chunky Heel Boots for Women Nicepairs

Black Sophisticated Square Toe Mid-Calf Chunky Heel Boots for Women

$120.00
Add to cart
White Snip Toe Embroidered Mid-Calf Cowgirl Boots with Chunky Heels Nicepairs White Snip Toe Embroidered Mid-Calf Cowgirl Boots with Chunky Heels Nicepairs

White Snip Toe Embroidered Mid-Calf Cowgirl Boots with Chunky Heels

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

Vintage Red Snip Toe Embroidered Chunky Heel Mid-Calf Cowgirl Boots

$154.00
Add to cart
Metallic Blue Snip Toe Embroidered Chunky Heel Mid-Calf Cowgirl Boots Nicepairs Metallic Blue Snip Toe Embroidered Chunky Heel Mid-Calf Cowgirl Boots Nicepairs

Metallic Blue Snip Toe Embroidered Chunky Heel Mid-Calf Cowgirl Boots

$159.00
Add to cart
Khaki Faux Suede Chunky Heel Embroidered Mid-Calf Cowgirl Boots Nicepairs Khaki Faux Suede Chunky Heel Embroidered Mid-Calf Cowgirl Boots Nicepairs

Khaki Faux Suede Chunky 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
Black Vegan Leather Snip Toe Embroidered Mid-Calf Heeled Cowgirl Boots Nicepairs Black Vegan Leather Snip Toe Embroidered Mid-Calf Heeled Cowgirl Boots Nicepairs

Black Vegan Leather Snip Toe Embroidered Mid-Calf Heeled Cowgirl Boots

$142.00
Add to cart
White Vegan Leather Snip Toe Pink Eagle Patch-Work Mid-Calf Cowgirl Boots Nicepairs White Vegan Leather Snip Toe Pink Eagle Patch-Work Mid-Calf Cowgirl Boots Nicepairs

White Vegan Leather Snip Toe Pink Eagle Patch-Work Mid-Calf Cowgirl Boots

$142.00
Add to cart
Beige Faux Suede Snip Toe Embroidered Mid-Calf Cowgirl Heeled Boots Nicepairs Beige Faux Suede Snip Toe Embroidered Mid-Calf Cowgirl Heeled Boots Nicepairs

Beige Faux Suede Snip Toe Embroidered Mid-Calf Cowgirl Heeled Boots

$142.00
Add to cart
Black Vegan Leather Snip Toe Embroidered Mid-Calf Cowgirl Boots Nicepairs Black Vegan Leather Snip Toe Embroidered Mid-Calf Cowgirl Boots Nicepairs

Black Vegan Leather Snip Toe Embroidered Mid-Calf Cowgirl Boots

$142.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
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
Metallic Pink Distressed Pointed Toe Patch-Work Cowgirl Ankle Boots Nicepairs Metallic Pink Distressed Pointed Toe Patch-Work Cowgirl Ankle Boots Nicepairs

Metallic Pink Distressed Pointed Toe Patch-Work Cowgirl Ankle Boots

$128.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

$120.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
Maroon Embroidered Vegan Leather Pointed Toe Partial-Zip Cowgirl Boots Nicepairs Maroon Embroidered Vegan Leather Pointed Toe Partial-Zip Cowgirl Boots Nicepairs

Maroon Embroidered Vegan Leather Pointed Toe Partial-Zip Cowgirl Boots

$154.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
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
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
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
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
Vintage Maroon Studded Chunky Heel Mid-Calf Western Boots for Women Nicepairs Vintage Maroon Studded Chunky Heel Mid-Calf Western Boots for Women Nicepairs

Vintage Maroon Studded Chunky Heel Mid-Calf Western Boots for Women

$169.00
Add to cart
White Snip Toe Floral Embroidered Chunky Heel Mid-Calf Western Boots for Women Nicepairs White Snip Toe Floral Embroidered Chunky Heel Mid-Calf Western Boots for Women Nicepairs

White Snip Toe Floral Embroidered Chunky Heel Mid-Calf Western Boots for Women

$169.00
Add to cart
Black & White Snip Toe Rose Inlay Mid-Calf Western Boots for Women Nicepairs Black & White Snip Toe Rose Inlay Mid-Calf Western Boots for Women Nicepairs

Black & White Snip Toe Rose Inlay Mid-Calf Western Boots for Women

$169.00
Add to cart
Beige Square Toe Low Heel Mid-Calf Flower Embroidered Cowboy Boots for Women Nicepairs Beige Square Toe Low Heel Mid-Calf Flower Embroidered Cowboy Boots for Women Nicepairs

Beige Square Toe Low Heel Mid-Calf Flower Embroidered Cowboy Boots for Women

$159.00
Add to cart
FSJ White Cut-out Embroidered Chunky Heel Mid Calf Cowgirl Boots Nicepairs FSJ White Cut-out Embroidered Chunky Heel Mid Calf Cowgirl Boots Nicepairs

FSJ White Cut-out Embroidered Chunky Heel Mid Calf Cowgirl Boots

$169.00
Add to cart
Beige Snip Toe Embroidery Pearl Decor Mid-Calf Cowboy Boots for Women Nicepairs Beige Snip Toe Embroidery Pearl Decor Mid-Calf Cowboy Boots for Women Nicepairs

Beige Snip Toe Embroidery Pearl Decor Mid-Calf Cowboy Boots for Women

$179.00
Add to cart
Black Chunky Heeled Metallic Studded Mid Calf Cowgirl Boots Nicepairs Black Chunky Heeled Metallic Studded Mid Calf Cowgirl Boots Nicepairs

Black Chunky Heeled Metallic Studded Mid Calf Cowgirl Boots

$135.00
Add to cart
Black & Khaki Chunky Heel Heart Pattern Mid Calf Cowgirl Boots Nicepairs Black & Khaki Chunky Heel Heart Pattern Mid Calf Cowgirl Boots Nicepairs

Black & Khaki Chunky Heel Heart Pattern Mid Calf Cowgirl Boots

$154.00
Add to cart
Tan Wide Calf Embroidered Mid-Calf Cowgirl Boots with Chunky Heel Nicepairs Tan Wide Calf Embroidered Mid-Calf Cowgirl Boots with Chunky Heel Nicepairs

Tan Wide Calf Embroidered Mid-Calf Cowgirl Boots with Chunky Heel

$150.00
Add to cart
Black Faux Suede Pointed Toe Lace Up Mid Calf Boots With Stiletto Heel Nicepairs Black Faux Suede Pointed Toe Lace Up Mid Calf Boots With Stiletto Heel Nicepairs

Black Faux Suede Pointed Toe Lace Up Mid Calf Boots With Stiletto Heel

$135.00
Add to cart
Multicolor Patent Leather Snip Toe Colorful Stripe Mid-Calf Boots With Stiletto Heels Nicepairs Multicolor Patent Leather Snip Toe Colorful Stripe Mid-Calf Boots With Stiletto Heels Nicepairs

Multicolor Patent Leather Snip Toe Colorful Stripe Mid-Calf Boots With Stiletto Heels

$120.00
Add to cart
Multicolor Patent Leather Snip Toe Colorful Stripe Mid-Calf Boots With Stiletto Heels Nicepairs Multicolor Patent Leather Snip Toe Colorful Stripe Mid-Calf Boots With Stiletto Heels Nicepairs

Multicolor Patent Leather Snip Toe Colorful Stripe Mid-Calf Boots With Stiletto Heels

$120.00
Add to cart
Black Faux Suede & Fabric Pointed Toe Mid-Calf Boots With Stiletto Heels Nicepairs Black Faux Suede & Fabric Pointed Toe Mid-Calf Boots With Stiletto Heels Nicepairs

Black Faux Suede & Fabric Pointed Toe Mid-Calf Boots With Stiletto Heels

$120.00
Add to cart
Brown Faux Suede Snip Toe Embroidered Side-Zipped Mid-Calf Cowgirl Boots With Chunky Heels Nicepairs Brown Faux Suede Snip Toe Embroidered Side-Zipped Mid-Calf Cowgirl Boots With Chunky Heels Nicepairs

Brown Faux Suede Snip Toe Embroidered Side-Zipped Mid-Calf Cowgirl Boots With Chunky Heels

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

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

$150.00
Add to cart
Dark Gray Pointed Toe Block Heels Mid Calf Embroidered Cowgirl Boots Nicepairs Dark Gray Pointed Toe Block Heels Mid Calf Embroidered Cowgirl Boots Nicepairs

Dark Gray Pointed Toe Block Heels Mid Calf Embroidered Cowgirl Boots

$150.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);