City Letter Printing Loose Short Sleeve T-shirt

$23.99
people are viewing this right now
const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = 'd97ac164-6b73-4d88-bf08-88d94f0c87f0'; 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 = '80eee187-bc9c-4d03-856c-412feb57d8c0'; 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 == '80eee187-bc9c-4d03-856c-412feb57d8c0' && 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);
Color:  white
Size:  S
Quantity
Shipping
Shipping & Return

Worldwide Delivery – Fast & Reliable

Enjoy FREE shipping on all orders over $99.

Processing & Shipping Time

  • Processing Time: 3-5 business days
  • Standard Shipping: 7-15 business days

Returns & Exchanges

We accept returns or exchanges within 30 days from the delivery date.

Return Requirements:

  1. Items must be returned within 30 days of receipt.
  2. Products must be unused, undamaged, and in their original packaging.

Shop with confidence – quality service guaranteed.

Payment Methods

Paying with PayPal / Apple Pay / Google Pay

  • With PayPal, Apple Pay, and Google Pay, you can send payments quickly and securely online.

  • Through these payment methods, you can pay with a credit card, debit card, or bank account balance.

  • Once your order is submitted, you will be redirected to the secure payment page where you can complete your transaction.

  • When you place an order with PayPal, you will be redirected to the PayPal payment page, where you can confirm your payment by logging in with your PayPal username and password.

  • You may still check out even without a PayPal account. To do so, please click "Pay with Debit/Credit Card", and you’ll be redirected to a secure page where you can enter your card details or complete your payment safely via PayPal.

  • Apple Pay and Google Pay are also available. Simply choose your preferred option at checkout and follow the instructions to complete your payment.

Paying with Credit/Debit Card

  • The available credit card options are listed above. The credit card companies listed are the most commonly used ones on this website.

  • If your credit card company is not listed, we encourage you to proceed with your purchase, as the transaction may still be processed successfully.

  • Please note that we do not collect your credit/debit card number or personal financial information when you make a payment.

  • For any questions regarding your transactions, please consult your card-issuing bank for further information.

Secure & Hassle-Free Payment – Shop with Confidence!

Customer reviews

27 Reviews
Caleb Graeber

Absolutely love the style — it looks even better in person than in the photos!

Jake Thompson

This Yamaha hoodie is so mechanical - styled. The vintage effect is great. It looks amazing when taking photos at the motorcycle shop. The fabric is thick and durable, a must - have for motorcycle enthusiasts.

View more
Sophia King

The vintage effect of this hoodie is very unique. It has a great atmosphere when worn on the streets of London. The fabric is thick and can stay dry on rainy days. It’s worth recommending.

Jacob Adkins

My friends and I love it — it’s absolutely awesome!

Ethan Redbull

The Red Bull hoodie is very street skate - styled. The vintage effect is very trendy. It’s very comfortable to wear at the skate park. The fabric is durable and doesn’t restrict skateboarding movements.

Takumi Sato

Wearing this hoodie in Akihabara, Tokyo, it’s full of anime atmosphere. The Yamaha print matches the surroundings well. The fabric is comfortable, and it’s very comfortable to wear when shopping.

Alex Johnson

The design is very layered. The Red Bull logo is very eye - catching. It looks great in photos outside a New York cafe. The quality of the hoodie is very good, and the details are very delicate.

Amelie Dubois

The quality of the hoodie is very good, the details are well handled. I really like it.

Kai Surfer

The design is very personalized.It’s very comfortable to wear at the beach.

Luca Yamaha

As a Yamaha fan, this hoodie is so cool. It has a great atmosphere when worn next to a tuning shop. The print is clear, the craftsmanship is fine, and the quality is excellent.

Marcus Ferrari

As a Ferrari fan, this racing suit meets my pursuit of fashion. The fabric is comfortable, the fit is slim, and it’s very suitable for wearing during sports.

Payan

Fits really well and looks sharp — highly recommend!

Longtine Parker

The packaging was super careful — everything arrived in perfect shape. Thumbs up!

Simmons

Great quality! It took 11 and a half days from order to delivery — not bad at all.

Suralba Perez

I already wore it out, and several people asked me where I got it!

Michael Hawkes

I thought it might fade after washing, but nope — the quality holds up really well!

Kleppek

I’m a car lover, and this outfit totally lived up to my expectations.

Leon

Wasn’t expecting much, but this really surprised me — in a good way!

Cathcart

Fits perfectly and pairs great with jeans!

Suzie Hawkins

I was a bit hesitant before ordering, but wow,it totally blew me away when it arrived!

Kelly Lamoreaux

Washed it twice already,the fit and color stayed the same. Really impressed!

Wyatt Wiggins

The fabric feels way better than I expected,super soft to the touch!

Beverly Barnhart

Even better than the photos,full marks for quality!

Samuel Marshall

For the price, the quality is unbeatable.

Sam Walther

Doesn’t feel stuffy at all — super comfy even after wearing it all day.

Jellison

The packaging was thoughtful,not a single wrinkle!

Barnett

I was worried the color might be dull, but it’s super vibrant in person.

One Piece

View more

Racing Style

View more

Gym Wear

View more

Sign up and save

Subscribe to get special offers, free giveaways, and once-in-a-lifetime deals.