Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any
Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any

Last Day Special Sale - 2023 Upgraded Self-Adhesive Leather Refinisher Sofa Repair-Cut any

$22.99
$41.99
-$19.00
color-black
Please select a color
size-14-5x54in-35x137cm
Please select a size
Quantity
Free worldwide shipping
Free returns
Sustainably made
Secure payments
SKU: LASTDA-9902-1

Leather patch Wear resistant waterproof and durable non-residual Adhesive do not drop paste on a few seconds and Leather that never leaves scratches

Features:

  • Leather Repair Patch: The leather repair patch is made of high-grade PU leather fabric material which is smooth to the touch and can repair the texture of the sofa. It can be pasted on various surfaces and can be easily removed without leaving residues and has a longer service life.
  • Large Size Cuttable: Diverse color large area leather patch tape size. One sheet 50 x 137CM you can cut it any shape you want cost saving.
  • Strong Paste: More durable Leather and non-residual Adhesive do not drop paste on a few seconds and Leather that never leaves scratches.Non-toxic and environmental protectionLeather patch Wear resistant waterproof and durable.

RELIABLE MATERIAL CONTROL: Compared with other unscrupulous merchants our products have higher quality materials and higher thickness.

APPLY TO ALL: The leather patch kit can be used in any situation that requires a renewal of aging leather and vinyl surfaces. Damaged surfaces found in any vehicle such as automobiles aircraft marine-craft or any furniture such as sofas chairs.

APPEARANCE IS LUXURIOUS: Paste in the break or stain is not easy to be found.

HOW TO USE:

1. Clean the damaged surface

2. Cut the desired shape

3. Peel and stick. Premium self-adhesive repair patch help you cope with all kinds of scratches or hole problems easily.

Tips: Please clean the object and keep dry before pastingIt is recommended to buy a large and a small oneThe large one can be used as a whole and the small one can be cut into various shapes

Package Includes:

  • 1 PCS 14.5X54in (35X137cm) Self Adhesive Leather Patch
  • 1 PCS 20X54in (50X137cm) Self Adhesive Leather Patch
  • 1 PCS 42X54in(100X137cm) Self Adhesive Leather Patch

Due to the different display and lighting effects the actual color of the item may be slightly different from the color displayed in the picture

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);