Men's Ukiyoe Sakura Koi Ocean Old School Tattoo Art Print Crew Neck Sweatshirt

const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = '9d8f8e52-a5a9-47be-9e0e-7f589c17c170'; this.isRTL = SPZ.win.document.dir === 'rtl'; } static deferredMount() { return false; } buildCallback() { this.action_ = SPZServices.actionServiceForDoc(this.element); this.templates_ = SPZServices.templatesForDoc(this.element); this.xhr_ = SPZServices.xhrFor(this.win); this.setupAction_(); this.viewport_ = this.getViewport(); } mountCallback() { this.init(); // 监听事件 this.bindEvent_(); } async init() { this.handleFitTheme(); const data = await this.getDiscountList(); this.renderApiData_(data); } async getDiscountList() { const productId = 'd0fb4dae-4bf6-4a06-b070-e22ea00d13c1'; const variantId = this.variant_id; const productType = 'default'; const reqBody = { product_id: productId, variant_id: variantId, discount_method: "DM_AUTOMATIC", customer: { customer_id: window.C_SETTINGS.customer.customer_id, email: window.C_SETTINGS.customer.customer_email }, product_type: productType } const url = `/api/storefront/promotion/display_setting/text/list`; const data = await this.xhr_.fetchJson(url, { method: "post", body: reqBody }).then(res => { return res; }).catch(err => { this.setContainerDisabled(false); }) return data; } async renderDiscountList() { this.setContainerDisabled(true); const data = await this.getDiscountList(); this.setContainerDisabled(false); // 重新渲染 抖动问题处理 this.renderApiData_(data); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } async renderApiData_(data) { const parentDiv = document.querySelector('.automatic_discount_container'); const newTplDom = await this.getRenderTemplate(data); if (parentDiv) { parentDiv.innerHTML = ''; parentDiv.appendChild(newTplDom); } else { console.log('automatic_discount_container is null'); } } doRender_(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, renderData) .then((el) => { this.clearDom(); this.element.appendChild(el); }); } async getRenderTemplate(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, { ...renderData, isRTL: this.isRTL }) .then((el) => { this.clearDom(); return el; }); } setContainerDisabled(isDisable) { const automaticDiscountEl = document.querySelector('.automatic_discount_container_outer'); if(isDisable) { automaticDiscountEl.setAttribute('disabled', ''); } else { automaticDiscountEl.removeAttribute('disabled'); } } // 绑定事件 bindEvent_() { window.addEventListener('click', (e) => { let containerNodes = document.querySelectorAll(".automatic-container .panel"); let bool; Array.from(containerNodes).forEach((node) => { if(node.contains(e.target)){ bool = true; } }) // 是否popover面板点击范围 if (bool) { return; } if(e.target.classList.contains('drowdown-icon') || e.target.parentNode.classList.contains('drowdown-icon')){ return; } const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { node.classList.remove('open-dropdown'); }) // 兼容主题 this.toggleProductSticky(true); }) // 监听变体变化 document.addEventListener('dj.variantChange', async(event) => { // 重新渲染 const variant = event.detail.selected; if (variant.product_id == 'd0fb4dae-4bf6-4a06-b070-e22ea00d13c1' && variant.id != this.variant_id) { this.variant_id = variant.id; this.renderDiscountList(); } }); } // 兼容主题 handleFitTheme() { // top 属性影响抖动 let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ productInfoEl.classList.add('force-top-auto'); } } // 兼容 wind/flash /hero 主题 (sticky属性影响 popover 层级展示, 会被其他元素覆盖) toggleProductSticky(isSticky) { let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ if(isSticky) { // 还原该主题原有的sticky属性值 productInfoEl.classList.remove('force-position-static'); return; } productInfoEl.classList.toggle('force-position-static'); } } setupAction_() { this.registerAction('handleDropdown', (invocation) => { const discount_id = invocation.args.discount_id; const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { if(node.getAttribute('id') != `automatic-${discount_id}`) { node.classList.remove('open-dropdown'); } }) const $discount_item = document.querySelector(`#automatic-${discount_id}`); $discount_item && $discount_item.classList.toggle('open-dropdown'); // 兼容主题 this.toggleProductSticky(); }); } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, `${ TAG }.${ name }`, data || {}); this.action_.trigger(this.element, name, event); } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } } SPZ.defineElement(TAG, SpzCustomProductAutomatic);
$28.99
Color:  Black
Size:  S
Quantity

Description

SPU: P567957318345715712

Material: Cotton Blend

Pattern Type: All Over Print

Style: Casual, Art

Length: Regular

Collar: Round Neck

Sleeve Type: Long Sleeve

Occasion: Daily

Theme: All Season

 

SizeUSUKEUShoulderBustLengthSleeve
cminchcminchcminchcminch
S3636465722.210642.96625.75822.6
M3838485822.611544.96826.56023.4
L4040505923.012046.87027.36224.2
XL4242526023.412548.87228.16425.0
2XL4444546123.813050.77428.96625.7
3XL4646566224.213552.77629.66826.5
4XL4848586324.614054.67830.47027.3
5XL5050606425.014556.68031.27228.1
Due to manual measurement, there may be an error of 1-3cm
Due to light,display,etc,the color of the pattern may be slightly different from the physical object.

Where can Halarye deliver the package to?

Halarye can ship to most countries in the world, covering North and South America, Europe, Asia, Africa, Oceania, and more, over 200 countries & regions.

Countries not shipped to include: Aland Island, Ascension, Azores, Balearic Islands, Bouvet Island, Caroline Islands, China Mainland, Eritrea, Northern Mariana Islands, Somalia, Somaliland, Spanish Territories of N.Africa, Yemen, YUGOSLAVIA, Zaire.

How does Halarye ship your order?

After placing an order, you will receive a product information confirmation e-mail; After the payment, you will receive a successful payment confirmation e-mail; After the order is shipped, you will receive a shipping information confirmation e-mail, contains tracking number, you can check the shipping state with the tracking number in https://www.17track.net/en or http://www.track718.com/en

What shipping methods are offered? And how long does it take to ship?

About delivery time:
Delivery services subject to government restrictions and flight cancellations. This means that the estimated time to receive the package should be 10-28 business days on average. Hope you can understand.

Receipt time = processing time + delivery time
Processing time: 3-8 working days (quality control/picking and sorting/packing...)
Shipping time:
Standard Shipping: 10-20 business days
Fast Shipping: 7-12 business days

How much is the shipping cost? 

The price depends on the weight of product, the destination, the shipping method, and other considerations. Detailed pricing information is visible when placing an order. Choose the correct destination, then select the shipping method, to obtain an accurate shipping cost.

Order $0-$39.99---Shipping fee $8.99

Order $40.00-$59.99---Shipping fee $6.99

Order over $60---Free shipping

Global

ZONESHIPPING METHODPROCESSING TIMEDELIVERY TIMEORDERSKILOGRAMSSHIPPING FEE

EUROPE

USA

UK

AU

Standard3-8 Business Days15-30 Business DaysNo limit

CA

Standard3-8 Business Days15-30 Business DaysNo limit
GlobalStandard3-8 Business Days15-30 Business DaysNo limitFree

 

What is customs tax?

Taxes apply for imported goods/services and is regulated by the country law. Halarye is not responsible for any tax charged on its products. The amount of customs taxes are depend on policies and tax rates applied per country. Please contact local customs for clear information.

Important Notes:

1. Certain items are prohibited by some shipping carriers. If your order contains these items for the shipping carrier you selected, we will re-route your order via another carrier to ensure it arrives safely. This may require additional shipping time.

2. All estimated/typical delivery time are derived from real world data collected from past orders. They are approximate times for reference only.

3. Halarye ships all packages from our warehouse and distribution center.