Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family
Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family

Custom Sweatshirt with children's names on sleeve, Family Best Gifts For Christmas, Birthday Gift For Family

Price

$69.99 $36.99
Save $33.00

style - GIGI

Please select a style

cloth style

Please select a cloth style

Quantity

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);
Free Shipping Over $69!
Well Packaged
Sustainably Made
Secure Payments

Welcome to Mytopcustom!
Family Best Gifts For Christmas

How to order:
1- Please check all of the photos.
2- Select your sweatshirt size from selection box.
3-Select your sweatshirt style from selection box.
4- Select your sweatshirt color from the selection box.
5-Enter the text on the neckline.
6-Choose whether to add name on left sleeve.
7-Enter the names.
8-Choose Your Pattern on the Sleeve.
9-Choose design(Including the text and patterns on the chest and the names) color.
10- Go to add to cart.
11- Complete checkout!

💞Our customization allows your gift to have endless possibilities.

👉The factory will make a production plan within 24 hours after you submit the order, so the customized information cannot be changed once submitted, please check your customized information carefully.

👉When you order a product, it is specially designed and prepared for you. Therefore, we cannot accept returns or exchanges. However, we make changes for damages caused by design or product. If you have a problem feel free to message me.

Material:
-55% Cotton, 45% Polyester

Care instructions:
- Do not wash for 24 hours for the first time.
- Warm wash, inside out, with like colours.
- Air dry if possible. (We do not recommend tumble drying.)
- Do not iron the vinyl (printed part) directly.
- Do not bleach.
- Do not dry clean.

Size Chart:
-The size chart is below the product description.
-Size chart is available in the listing photos. All measurements are approximate. Measurements may vary about 1" less or more.

Note: 
-In case of any difficulty, just leave us a message or email contact@mytopcustom.com, we are willing to help.
♥ ♥Thank you very much for you business and let us know if you have any questions♥ ♥