(๐ŸŽ2024 New Year Hot Sale๐ŸŽ)Men's linen loose casual shorts

$24.99
$44.99
-$20.00
const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = '94a17ddc-e8b2-496b-b5cb-761f96a3c1a0'; this.isRTL = SPZ.win.document.dir === 'rtl'; this.isAddingToCart_ = false; // ๅŠ ่ดญไธญ็Šถๆ€ } 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 = '74ffe1c6-687c-400f-b537-15f008b7fed3'; 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 == '74ffe1c6-687c-400f-b537-15f008b7fed3' && 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(); }); // ๅŠ ่ดญไบ‹ไปถ this.registerAction('handleAddToCart', (invocation) => { // ้˜ปๆญขไบ‹ไปถๅ†’ๆณก const event = invocation.event; if (event) { event.stopPropagation(); event.preventDefault(); } // ๅฆ‚ๆžœๆญฃๅœจๅŠ ่ดญไธญ๏ผŒ็›ดๆŽฅ่ฟ”ๅ›ž if (this.isAddingToCart_) { return; } const quantity = invocation.args.quantity || 1; this.addToCart(quantity); }); } // ๅŠ ่ดญๆ–นๆณ• async addToCart(quantity) { // ่ฎพ็ฝฎๅŠ ่ดญไธญ็Šถๆ€ this.isAddingToCart_ = true; const productId = '74ffe1c6-687c-400f-b537-15f008b7fed3'; const variantId = this.variant_id; const url = '/api/cart'; const reqBody = { product_id: productId, variant_id: variantId, quantity: quantity }; try { const data = await this.xhr_.fetchJson(url, { method: 'POST', body: reqBody }); // ่งฆๅ‘ๅŠ ่ดญๆˆๅŠŸๆ็คบ this.triggerAddToCartToast_(); return data; } catch (error) { error.then(err=>{ this.showToast_(err?.message || err?.errors?.[0] || 'Unknown error'); }) } finally { // ๆ— ่ฎบๆˆๅŠŸๅคฑ่ดฅ๏ผŒ้ƒฝ้‡็ฝฎๅŠ ่ดญ็Šถๆ€ this.isAddingToCart_ = false; } } showToast_(message) { const toastEl = document.querySelector("#apps-match-drawer-add_to_cart_toast"); if (toastEl) { SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast(message); }); } } // ่งฆๅ‘ๅŠ ่ดญๆˆๅŠŸๆ็คบ triggerAddToCartToast_() { // ๅฆ‚ๆžœไธป้ข˜ๆœ‰่‡ชๅทฑ็š„ๅŠ ่ดญๆ็คบ๏ผŒๅˆ™ไธๆ˜พ็คบ const themeAddToCartToastEl = document.querySelector('#add-cart-event-proxy'); if (themeAddToCartToastEl) return; // ๆ˜พ็คบๅบ”็”จ็š„ๅŠ ่ดญๆˆๅŠŸๆ็คบ this.showToast_("Added successfully"); } 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);
class SpzCustomDiscountBundle extends SPZ.BaseElement { constructor(element) { super(element); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } mountCallback() {} unmountCallback() {} setupAction_() { this.registerAction('showAddToCartToast', () => { const themeAddToCartToastEl = document.querySelector('#add-cart-event-proxy') if(themeAddToCartToastEl) return const toastEl = document.querySelector('#apps-match-drawer-add_to_cart_toast') SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast("Added successfully"); }); }); } buildCallback() { this.setupAction_(); }; } SPZ.defineElement('spz-custom-discount-toast', SpzCustomDiscountBundle);
Color:  blackish green
Size:  S
Quantity
Shipping
Shipping

Worldwide Shipping

Processing time Shipping Method Shipping Time Shipping Fee
3-5 business days Standard 10-15 business days $10.99
Priority Shipping 9-12 business days $19.99

Free shipping on orders over $89.00

Description
  • โญThis product was recommended byย 99% of reviewers
  • โค๏ธUnique shop-6 years of focusing on products
ย 
Note: The size may be a little bit smaller than usual, recommend to choose one size up for better fit.

Product Description :ย 

  • Occasion : Daily/Casual/Vacation
  • ๐ŸŒŸMaterial: 80% Linenย 
  • ๐Ÿ™Œ Handmade by tailors
  • ๐Ÿ‘•11 color & Full Size
  • ๐ŸŒˆWe have Latest Men's Arrivals
  • Made of Linen blended fabric. Skin-friendly, breathable and moisture wicking, keep you cool and relaxed all the time especially in hot summer.
  • Features - Comfortable, soft & loose fit. Elasticated waist with adjustable drawstring provide the maximum comfort to the waist.
  • Occasion - Lounge pants Perfect for yoga, beach, camping, dance, sport wear, summer lounging, home or away.

  • Season - Appropriate thickness, great for hot summer days, also suitable for wearing in the cool season.

Environmentally friendly linen blend fiber manufacturing

ย 

PAYMENT

  • PayPal is welcomed here.
  • If you don't have a PayPal account, we accept all credit cards

SHIPPING

  • We would greatly appreciate your patience and understanding as we work to meet demand while ensuring that every piece meets our high-quality standards.

OUR GUARANTEE

Insured Worldwide Shipping:ย Each order includes real-time tracking details and insurance coverage in the unlikely event that a package gets lost or stolen in transit.

Money-Back Guarantee:ย If your items arrive damaged or become defective within 15 days of normal usage, we will gladly issue out a replacement or refund.

โœ‰๏ธย 24/7 Customer Support:ย We have a team of live reps ready to help and answer any questions you have within a 24-hour time frame, 7 days a week.

Safe & Secure Checkouts:ย We use state-of-the-art SSL Secure encryption to keep your personal and financial information 100% protected.

WORLDWIDE SHIPPINGโœˆย 

Return &Refund

Cancel & Refund

1. If you cancel within 24 hours after successful purchase and payment, your order will be refunded in full. If you decide to cancel the order, please contact us by email first. If the order has been shipped, we will not accept order cancellation requests.

2. Returns can be made within 30 days from the date you've received all your items. Please contact us immediately. No returns are made after 30 days from the date you've received your items.

Conditions๏ผš

1. All item(s) must be unworn and in the original condition with the original packaging and all tags attached. Any item(s) that appear to have been worn, washed, or altered in any way will not qualify for a refund. The original shipping cost is non-refundable.

2. The following items cannot be returned. underwear, swimwear, beauty tools, jewelry and accessories, and free gifts.

3. All exchange requests will be processed as refunds. Cannot be returned at this time. If you want to exchange the goods, you need to return the purchased goods to get a refund and place the order again.

4.The return shipping fee will be at your own cost.

Important notice:

1. We do not accept returned packages that use the cash on delivery service. The return shipping fee is non-refundable. If you send a paid item, we will refuse to pay.

2. To return a package, please contact our Customer Service for a return address. Please do not send your return to the sender's address on your package.

3. Please make sure you don't include items not from Freehippiespirit by accident in your return package. We will not be responsible for sending back those items to you.

Refunds:

PayPal account refunds: Up to 48 hours

Credit card refunds: Between 7-14 business days

Receipt of the goods โ†’ dissatisfied โ†’ contact customer service โ†’ meet the conditions of return and exchange โ†’ customer service provides the return address, send the goods โ†’ email contact customer service to provide a screenshot of the return information โ†’ confirm receipt โ†’ refund

Still Need Help?

Please contact support at service@urlinen.com