www.sopula.com
Open in
urlscan Pro
2606:4700::6812:e92a
Public Scan
Submitted URL: http://www.sopula.com/
Effective URL: https://www.sopula.com/
Submission: On February 06 via api from US — Scanned from DE
Effective URL: https://www.sopula.com/
Submission: On February 06 via api from US — Scanned from DE
Form analysis
4 forms found in the DOM<form class="search-predictive-form" id="search-predictive-form" is="spz-form" @submitsuccess="header-search-predictive-script.execute(func='setSearchUrl', params=event.formData.q)">
<input class="search-predictive-form-input border rounded-md w-full text-base" id="search-predictive-form-input" type="text" autocomplete="off" name="q" autofocus="" placeholder="Search"
@input-debounced="search-predictive-search-icon-render.rerender(data=event.value);search-predictive-result.rerender(data=event.value);">
<button class="search-predictive-form-clear clear text-0" type="button" @tap="search-predictive-search-icon-render.rerender(data='');search-predictive-form.clear();search-predictive-result.rerender(data='');"><svg class="" width="24" height="24"
fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="24" height="24" rx="12" fill="#F6F6F6"></rect>
<path d="M15.813 9.093a.64.64 0 0 0-.906-.905L12 11.095 9.093 8.188a.64.64 0 0 0-.905.905L11.094 12l-2.906 2.907a.64.64 0 0 0 .905.905L12 12.906l2.907 2.906a.64.64 0 0 0 .905-.905L12.906 12l2.906-2.907Z" fill="currentColor"></path>
</svg></button>
<spz-render class="search-predictive-search-icon-container absolute top-0 left-0 i-spzhtml-layout-container i-spzhtml-element i-spzhtml-notbuilt spz-notbuilt spz-unresolved i-spzhtml-unresolved" id="search-predictive-search-icon-render"
layout="container" i-spzhtml-layout="container">
<template>
<a class="search-predictive-search-icon flex" href="/search?q=${encodeURIComponent(typeof data === 'string' ? data : '')}">
<svg class="lg:hidden" width="16" height="16" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7 .8a6.2 6.2 0 1 0 3.992 10.945l2.534 2.535a.534.534 0 0 0 .754-.755l-2.534-2.534A6.2 6.2 0 0 0 7 .8ZM1.868 7a5.133 5.133 0 1 1 10.267 0A5.133 5.133 0 0 1 1.867 7Z" fill="currentColor"></path></svg>
<svg class="md:hidden" width="20" height="20" xmlns="http://www.w3.org/2000/svg"><path d="M20 0H0v20h20V0Z" fill="#fff" fill-opacity="0"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M8.75 1a7.75 7.75 0 1 0 4.989 13.681l3.168 3.168a.667.667 0 0 0 .942-.942l-3.168-3.168A7.75 7.75 0 0 0 8.75 1ZM2.333 8.75a6.417 6.417 0 1 1 12.834 0 6.417 6.417 0 0 1-12.834 0Z" fill="currentColor"></path></svg>
</a>
</template>
</spz-render>
</form>
POST
<form id="footer-newsletter-form" class="footer-newsletter-form mt-3" action-xhr="/api/customers/newsletters" method="POST" custom-validation="change-interact-and-submit"
@submiterror="footer-newsletter-error.rerender(data=event);footer-newsletter-error.toggleClass(class='hidden', force=false);"
@submitsuccess="footer-subscription-popup.open;footer-newsletter-subscription-success.toggleClass(class='hidden', force=false);footer-newsletter-form.toggleClass(class='hidden', force=true);footer-newsletter-error.toggleClass(class='hidden', force=true);">
<div class="footer-newsletter-form-group flex items-center justify-between rounded">
<div class="footer-newsletter-form-item relative flex-1">
<input class="footer-newsletter-form-input clear w-full text-base" type="text" id="footer-newsletter-email" name="email" required=""
pattern="[a-zA-Z0-9!#$%&'*+\/=?^_`\{\|\}~\-]+(?:\.[a-zA-Z0-9!#$%&'*+\/=?^_`\{\|\}~\-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?"
@input-debounced="footer-newsletter-error.toggleClass(class='hidden', force=true);">
<label class="footer-newsletter-form-label absolute color-footer-text-60 text-base" for="footer-newsletter-email"> Your email </label>
</div>
<button class="footer-newsletter-submit-btn button-primary flex-shrink-0" type="submit"> Join </button>
</div>
<div class="footer-newsletter-tip flex text-sm color-footer-text-80" validation-for="footer-newsletter-email" visible-when-invalid="valueMissing" hidden="">
<svg class="flex-shrink-0" width="14" height="14" xmlns="http://www.w3.org/2000/svg">
<rect width="14" height="14" rx="7" fill="#EB391B"></rect>
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 2.9a.6.6 0 0 1 .6.6v4.8a.6.6 0 1 1-1.2 0V3.5a.6.6 0 0 1 .6-.6Z" fill="#fff"></path>
<path d="M7.6 10.5a.6.6 0 1 1-1.2 0 .6.6 0 0 1 1.2 0Z" fill="#fff"></path>
</svg>Please fill in this field
</div>
<div class="footer-newsletter-tip flex text-sm color-footer-text-80" validation-for="footer-newsletter-email" visible-when-invalid="patternMismatch" hidden="">
<svg class="flex-shrink-0" width="14" height="14" xmlns="http://www.w3.org/2000/svg">
<rect width="14" height="14" rx="7" fill="#EB391B"></rect>
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 2.9a.6.6 0 0 1 .6.6v4.8a.6.6 0 1 1-1.2 0V3.5a.6.6 0 0 1 .6-.6Z" fill="#fff"></path>
<path d="M7.6 10.5a.6.6 0 1 1-1.2 0 .6.6 0 0 1 1.2 0Z" fill="#fff"></path>
</svg>Please enter a valid email address
</div>
</form>
POST
<form id="footer-newsletter-form-md" class="footer-newsletter-form mt-3" action-xhr="/api/customers/newsletters" method="POST" custom-validation="change-interact-and-submit"
@submiterror="footer-newsletter-error-md.rerender(data=event);footer-newsletter-error-md.toggleClass(class='hidden', force=false);"
@submitsuccess="footer-subscription-popup.open;footer-newsletter-subscription-success-md.toggleClass(class='hidden', force=false);footer-newsletter-form-md.toggleClass(class='hidden', force=true);footer-newsletter-error-md.toggleClass(class='hidden', force=true);">
<div class="footer-newsletter-form-group flex items-center justify-between rounded">
<div class="footer-newsletter-form-item relative flex-1">
<input class="footer-newsletter-form-input clear w-full text-base" type="text" id="footer-newsletter-email-md" name="email" required=""
pattern="[a-zA-Z0-9!#$%&'*+\/=?^_`\{\|\}~\-]+(?:\.[a-zA-Z0-9!#$%&'*+\/=?^_`\{\|\}~\-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?"
@input-debounced="footer-newsletter-error.toggleClass(class='hidden', force=true);">
<label class="footer-newsletter-form-label absolute color-footer-text-60 text-base" for="footer-newsletter-email-md"> Your email </label>
</div>
<button class="footer-newsletter-submit-btn button-primary flex-shrink-0" type="submit"> Join </button>
</div>
<div class="footer-newsletter-tip flex text-sm color-footer-text-80" validation-for="footer-newsletter-email-md" visible-when-invalid="valueMissing" hidden="">
<svg class="flex-shrink-0" width="14" height="14" xmlns="http://www.w3.org/2000/svg">
<rect width="14" height="14" rx="7" fill="#EB391B"></rect>
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 2.9a.6.6 0 0 1 .6.6v4.8a.6.6 0 1 1-1.2 0V3.5a.6.6 0 0 1 .6-.6Z" fill="#fff"></path>
<path d="M7.6 10.5a.6.6 0 1 1-1.2 0 .6.6 0 0 1 1.2 0Z" fill="#fff"></path>
</svg>Please fill in this field
</div>
<div class="footer-newsletter-tip flex text-sm color-footer-text-80" validation-for="footer-newsletter-email-md" visible-when-invalid="patternMismatch" hidden="">
<svg class="flex-shrink-0" width="14" height="14" xmlns="http://www.w3.org/2000/svg">
<rect width="14" height="14" rx="7" fill="#EB391B"></rect>
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 2.9a.6.6 0 0 1 .6.6v4.8a.6.6 0 1 1-1.2 0V3.5a.6.6 0 0 1 .6-.6Z" fill="#fff"></path>
<path d="M7.6 10.5a.6.6 0 1 1-1.2 0 .6.6 0 0 1 1.2 0Z" fill="#fff"></path>
</svg>Please enter a valid email address
</div>
</form>
<form class="">
<div class="zb-flex">
<a href="${product.url}?${toQuery({ aid: 'smart_recommend.2.' + data.id, ifb: product.ifb || '', cfb: product.cfb || '', scm: product.scm || data.scm || '', ssp: data.ssp || '' })}" impr="1" imprevt="1" class="zb-w-[132px] zb-mr-4 rtl:zb-ml-4 rtl:zb-mr-0" data-prdct="${product.id}" data-ifb="${product.ifb || ''}" data-cfb="${product.cfb || ''}" data-scm="${product.scm || data.scm || ''}" data-spm="${productIndex}"> <ljs-render layout="container" id="smart_cart_pop_image_${product.id}" template="smart_cart_pop_image_template" manual=""></ljs-render> </a>
<div class="zb-flex zb-flex-col zb-flex-grow zb-justify-between">
<div>
<div class="zb-line-clamp-2 zb-text-sm zb-mb-2">${product.title}</div> <ljs-render layout="container" id="smart_cart_pop_price_${product.id}" template="smart_cart_pop_price_template" manual=""></ljs-render>
</div>
<div>
<div class="zb-relative zb-w-full zb-cursor-pointer">
<div class="zb-border zb-border-solid zb-border-[#eee] zb-px-3 zb-py-[10px] zb-flex zb-items-center zb-justify-between zb-font-semibold zb-text-sm zb-rounded-sm"
@tap="smart_pop_variant-select-${product.id}.toggleClass(class=zb-rotate-180);smart_cart_pop_variant_${product.id}_mobile.toggleClass(class=zb-hidden);smart_cart_pop_variant_${product.id}_pc.toggleClass(class=smart_cart_pop_variant_pc_show,force=true);smart_cart_pop_variant_modal_${product.id}.open"
spz-if="${!!(product.options && product.options.length && product.options.length > 0) && data.config.variant_select_visible}"> <ljs-render manual="" layout="container" id="smart_cart_pop_variant_text_${product.id}"
template="smart_cart_pop_variant_text_template"></ljs-render> <svg id="smart_pop_variant-select-${product.id}" width="12" height="8" class="zb-ml-2" viewBox="0 0 12 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M6.00002 7.06738C6.19244 7.06775 6.38498 6.99453 6.5318 6.84772C6.54504 6.83447 6.55769 6.82086 6.56973 6.8069L11.1251 2.25152C11.418 1.95863 11.418 1.48375 11.1251 1.19086C10.8322 0.897968 10.3573 0.897968 10.0645 1.19086L6.00003 5.25529L1.9356 1.19086C1.64271 0.897968 1.16784 0.897968 0.874943 1.19086C0.58205 1.48375 0.58205 1.95863 0.874943 2.25152L5.43033 6.8069C5.44237 6.82086 5.45502 6.83447 5.46826 6.84772C5.61507 6.99453 5.8076 7.06775 6.00002 7.06738Z"
fill="#0A1533"></path>
</svg> </div> <ljs-lightbox layout="nodisplay" disable-unmount="" class="smart_cart_pop_lightbox_pc" id="smart_cart_pop_variant_modal_${product.id}" @close="smart_pop_variant-select-${product.id}.toggleClass(class=zb-rotate-180);">
<div id="smart_cart_pop_variant_${product.id}_pc" class="zb-hidden"><ljs-variants id="smart_cart_pop_variants_${product.id}"
class="md:!zb-absolute md:zb-top-[50px] md:zb-w-full md:zb-left-0 md:zb-z-30 md:zb-bg-white zb-max-h-[280px] zb-overflow-y-auto md:zb-shadow-pop" layout="container" template="smart_cart_pop_variant_template"
onclick="event.stopPropagation()" disabled-dj-event="" interference=""> </ljs-variants></div>
</ljs-lightbox>
</div>
<div class="zb-mt-3"> <button product-id="${product.id}" id="smart_cart_pop_atc_btn_${product.id}"
class="zb-flex zb-items-center zb-justify-center zb-w-full zb-text-white zb-py-[10px] zb-h-9 zb-text-xs zb-font-normal zb-border-none zb-rounded-[4px] smart_cart_pop_atc_btn_bg" type="button" role="addToCart"
@tap="smart_cart_pop_loading_${product.id}.toggleClass(class=zb-hidden);smart_cart_pop_atc_${product.id}.toggleClass(class=zb-hidden);smart_cart_pop_atc_btn_${product.id}.toggleClass(class=zb-pointer-events-none);custom-func.addATCHook(activity_id='${data.id}',ifb='${product.ifb}',cfb='${product.cfb}',scm='${product.scm || data.scm}',ssp='${data.ssp}',spm='${data.spmBase}.${productIndex}')">
<ljs-render layout="container" id="smart_cart_pop_atc_${product.id}" template="smart_cart_pop_atc_template" mamual="" class="notranslate"> </ljs-render>
<div id="smart_cart_pop_added_${product.id}" class="zb-hidden"><span class="zb-flex zb-justify-center zb-gap-1"><svg width="14" height="15" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M8 16.5006C3.58171 16.5006 0 12.9183 0 8.5C0 4.08171 3.58171 0.5 8 0.5C12.4183 0.5 16 4.08171 16 8.5C16 12.9183 12.4183 16.5006 8 16.5006ZM8 2.04344C4.21314 2.04344 1.54287 4.71371 1.54287 8.50057C1.54287 12.2874 4.21314 14.9577 8 14.9577C11.7869 14.9577 14.4571 12.2874 14.4571 8.50057C14.4571 4.71371 11.7869 2.04344 8 2.04344ZM7.26057 11.1909L7.12229 11.3286L7.09543 11.3017C7.02286 11.336 6.94286 11.3577 6.85714 11.3577C6.73543 11.3577 6.62857 11.3109 6.536 11.2463L6.52229 11.2594L6.45371 11.1909C6.45314 11.1903 6.45314 11.1903 6.45257 11.1897L4.09771 8.83486L4.90629 8.02686L6.85714 9.97771L11.1629 5.67143L11.9714 6.48L7.26171 11.1897C7.26114 11.1903 7.26114 11.1903 7.26057 11.1909Z"
fill="white"></path>
</svg>Added</span></div>
<div id="smart_cart_pop_loading_${product.id}" class="zb-hidden">
<div class="smart_cart_pop_loading"></div>
</div>
</button> </div>
</div>
</div>
</div>
<div id="smart_cart_pop_variant_${product.id}_mobile" class="zb-hidden md:zb-hidden"><ljs-variants id="smart_cart_pop_variants_${product.id}"
class="md:!zb-absolute md:zb-top-[50px] md:zb-w-full md:zb-left-0 md:zb-z-30 md:zb-bg-white zb-max-h-[280px] zb-overflow-y-auto md:zb-shadow-pop" layout="container" template="smart_cart_pop_variant_template" onclick="event.stopPropagation()"
disabled-dj-event="" interference=""> </ljs-variants></div>
</form>
Text Content
* New * New Design Hot * New In Hoodies * New In Sweatshirts * New In Tees * New In Pants * Clothing Tops * Hoodies * Tees * Sweatshirts * Sweaters Bottoms * Pants * Shorts Two Piece Sets * Hoodie Set * Shorts Set Outerwear * Jackets * Coats * Women * Hoodies * Tees * Pants * Jackets * Sweaters * Pick by Design New Acid Wash Design * Acid Wash Hoodies * Acid Wash Tees YLWM Design Christian Style Hellstar Designer Spider Design Tapestry Design * Accessories * Track Order * More links USD * United States Dollars (USD) * Canadian Dollars (CAD) * Australian Dollars (AUD) * United Kingdom Pounds (GBP) * Euro (EUR) Sign in Create an account ${(data.data && data.data.count) > 999 ? '999+' : (data.data && data.data.count)} 0 ${(data.data && data.data.count) > 999 ? '999+' : (data.data && data.data.count)} Search * New New * New Design Hot * New In Hoodies * New In Sweatshirts * New In Tees * New In Pants * Clothing Clothing * Tops Tops * Hoodies * Tees * Sweatshirts * Sweaters * Bottoms Bottoms * Pants * Shorts * Two Piece Sets Two Piece Sets * Hoodie Set * Shorts Set * Outerwear Outerwear * Jackets * Coats * Women Women * Hoodies * Tees * Pants * Jackets * Sweaters * Pick by Design New Pick by Design New * Acid Wash Design Acid Wash Design * Acid Wash Hoodies * Acid Wash Tees * YLWM Design * Christian Style * Hellstar Designer * Spider Design * Tapestry Design * Accessories * Track Order USD * United States Dollars (USD) * Canadian Dollars (CAD) * Australian Dollars (AUD) * United Kingdom Pounds (GBP) * Euro (EUR) Log in function setSearchUrl(searchValue) { return Promise.resolve({ url: '/search?q=' + searchValue }); } exportFunction('setSearchUrl', setSearchUrl); ${function() { if (data === undefined || typeof data !== 'string' || data == '') return ''; const searchEmpty = ("Your search for \"{test}\" did not yield any results.").replace('{test}', data); return ` View more ${searchEmpty} `; }()} ${Array(data.total || 0).fill().map((val, idx) => idx).map((val, idx) => ` * `).join('')} * * ${Array(data.total || 0).fill().map((val, idx) => idx).map((val, idx) => ` * `).join('')} BEST SELLING * Hoodie * Tee * Set TIL DEATH DO US PART GRAPHIC PUFF PRINT PULLOVER HOODIE (5) $36.00 PUFF PRINT YOUR LOST WITHOUT ME GRAPHIC ZIP-UP HOODIE $40.00 OVERSIZED VINTAGE PUNK MUMMY GRAPHIC PULLOVER HOODIE (1) $40.00 OVERSIZED VINTAGE PUNK MUMMY GRAPHIC PULLOVER HOODIE (2) $40.00 OVERSIZED VINTAGE GRAPHIC STREET ACID WASHED PULLOVER HOODIE (2) $50.00 VINTAGE HELLSTAR GRAPHIC GRAY ACID WASHED PULLOVER HOODIE $50.00 Save 9% DENIM TEARS-WREATH GRAPHIC BLACK PULLOVER HOODIE TRACKSUIT & SWEATPANTS $68.00 $75.00 HELLSTAR GRAPHIC BLACK PULLOVER HOODIE TRACKSUIT & FLARED SWEATPANTS $65.00 Load more Y2K FASHION FLY RICH VINTAGE 2019 GRAPHIC COTTON T-SHIRT (4) $24.00 HELLSTAR STUDIOS INNER PEACE GRAPHIC PRINT T-SHIRT (1) $24.00 Y2K FASHION HELLSTAR 1996 VINTAGE GRAPHIC COTTON T-SHIRT $24.00 THE BEGINNING AND THE END PRINT T-SHIRT $24.00 VINTAGE HELLSTAR WORLDWIDE PRINT GRAPHIC COTTON T-SHIRT $24.00 VINTAGE HELLSTAR BRAINSTORM GRAPHIC T-SHIRT (1) $24.00 FEAR OF GOD PRINT GRAPHIC T-SHIRT $24.00 Save 14% “ANGELS” ZIPPER SHORT SLEEVE SHIRTS (2) $30.00 $35.00 Load more Save 9% DENIM TEARS-WREATH GRAPHIC BLACK PULLOVER HOODIE TRACKSUIT & SWEATPANTS $68.00 $75.00 HELLSTAR GRAPHIC BLACK PULLOVER HOODIE TRACKSUIT & FLARED SWEATPANTS $65.00 Y2K FASHION SPIDER PUNK GRAPHIC HOODIE TRACKSUIT & SWEATPANTS (1) $65.00 SPIDER GRAPHIC PRINT GRAY PULLOVER HOODIE TRACKSUIT & SWEATPANTS $65.00 Y2K FASHION HIP HOP PATCHWORK GRAPHIC HOODIE & FLARED SWEATPANTS (1) $65.00 Y2K FASHION SPIDER STAR GRAPHIC PUFF PRINT HOODIE TWO PIECE SET $68.00 VINTAGE MUMMY GRAPHIC HOODIE TRACKSUIT & FLARED SWEATPANTS $65.00 Y2K FASHION SPIDER 555 PRINT BROWN HOODIE TRACKSUIT & SWEATPANTS $65.00 Load more DISCOVER SOPULA DESIGN Learn More DISCOVER SOPULA DESIGN Learn More PICK BY STYLE * Acid Wash * New Style * Y2K Fashion VINTAGE OVERSIZED ESSENTIALS ACID WASHED PULLOVER HOODIE $50.00 VINTAGE ESSENTIAL OVERSIZED ACID WASH CREWNECK SWEATSHIRT $40.00 VINTAGE OVERSIZED ESSENTIALS ACID WASH LONG SLEEVE T-SHIRT $35.00 VINTAGE OVERSIZED ESSENTIALS ACID WASH T-SHIRT $28.00 Load more HELLSTAR FLAME GRAPHIC PRINT PULLOVER HOODIE & FLARES SWEATPANTS $65.00 VINTAGE CROSS FAITH PRINT ACID WASHED OVERSIZED HOODIE $50.00 MENTAL HEALTH MATTERS GRAPHIC PRINT ACID WASH PULLOVER HOODIE $50.00 MEN'S VINTAGE VALENTINE'S DAY LETTER PRINT POCKET WASHED HOODIE $50.00 Load more HELLSTAR GRAPHIC BLACK PULLOVER HOODIE TRACKSUIT & FLARED SWEATPANTS $65.00 VINTAGE HELLSTAR WORLDWIDE PRINT GRAPHIC COTTON T-SHIRT $24.00 Y2K FASHION HELLSTAR 1996 VINTAGE GRAPHIC COTTON T-SHIRT $24.00 Y2K FASHION FLY RICH VINTAGE 2019 GRAPHIC COTTON T-SHIRT (4) $24.00 Load more SHOP BY CATEGORY 1129 products Hoodies 965 products T-shirts 287 products Pants 174 products Two Piece Sets 331 products Shorts 50 products Jacket 24 products Coats 40 products Sweater "YOU LOST WITHOUT ME" you love me, you lost without me print design PUFF PRINT YOUR LOST WITHOUT ME GRAPHIC ZIP-UP HOODIE $40.00 YOUR LOST WITHOUT ME PUFF PRINT GRAPHIC PULLOVER HOODIE $36.00 Save 43% YOUR LOST WITHOUT ME GRAPHIC PULLOVER HOODIE $20.00 $35.00 YOUR LOST WITHOUT ME GRAPHIC PRINT T-SHIRT $24.00 YOU'RE LOST WITHOUT ME & PEACE DOVE GRAPHIC PRINT PULLOVER HOODIE $36.00 YOUR LOST WITHOUT ME PRINT SWEATPANTS $30.00 PEACE DOVE X YLWM V2 FLEECE-LINED TRACKSUIT TWO PIECE SET $65.00 YOUR LOST WITHOUT ME X SKULL PRINT GRAPHIC DOUBLE LAYER MEN'S GYM SHORTS $28.00 YOUR LOST WITHOUT ME GRAPHIC WAFFLE HOODIE $38.00 YOU'RE LOST WITHOUT ME PRINT GRAPHIC PULLOVER HOODIE TRACKSUIT & SWEATPANTS $65.00 FAITH CROSS X “YOU’RE LOST WITHOUT ME” LONG SLEEVE FLEECE-LINED HOODIE $35.00 PEACE DOVE X YLWM V2 CASUAL STREET HOODIE & FLARED TROUSERS TWO PIECE SET $65.00 PUFF PRINT YOUR LOST WITHOUT ME GRAPHIC ZIP-UP HOODIE $40.00 YOUR LOST WITHOUT ME PUFF PRINT GRAPHIC PULLOVER HOODIE $36.00 Save 43% YOUR LOST WITHOUT ME GRAPHIC PULLOVER HOODIE $20.00 $35.00 YOUR LOST WITHOUT ME GRAPHIC PRINT T-SHIRT $24.00 YOU'RE LOST WITHOUT ME & PEACE DOVE GRAPHIC PRINT PULLOVER HOODIE $36.00 YOUR LOST WITHOUT ME PRINT SWEATPANTS $30.00 PEACE DOVE X YLWM V2 FLEECE-LINED TRACKSUIT TWO PIECE SET $65.00 YOUR LOST WITHOUT ME X SKULL PRINT GRAPHIC DOUBLE LAYER MEN'S GYM SHORTS $28.00 YOUR LOST WITHOUT ME GRAPHIC WAFFLE HOODIE $38.00 YOU'RE LOST WITHOUT ME PRINT GRAPHIC PULLOVER HOODIE TRACKSUIT & SWEATPANTS $65.00 FAITH CROSS X “YOU’RE LOST WITHOUT ME” LONG SLEEVE FLEECE-LINED HOODIE $35.00 PEACE DOVE X YLWM V2 CASUAL STREET HOODIE & FLARED TROUSERS TWO PIECE SET $65.00 INFORMATION ABOUT SOPULA CONTACT US CONTACT Email:Support@sopula.com NEWLETTER We send great emails! Your email Join Please fill in this field Please enter a valid email address ${data.errors && data.errors[0]} Thanks for subscribing INFORMATION ABOUT SOPULA CONTACT US CONTACT Email:Support@sopula.com NEWLETTER We send great emails! Your email Join Please fill in this field Please enter a valid email address ${data.errors && data.errors[0]} Thanks for subscribing DELIVERY & SHIPPING RETURN POLICY PAYMENT METHODS TERMS OF SERVICE PRIVACY POLICY INTELLECTUAL PROPERTY RIGHTS © 2024 Sopula 10% off your first order Thank you for your subscription, you can enjoy a 10% discount for the first purchase. Enter a discount code Copy code ${function() { const force_image_size = "1"; const product_hover_on = true; const product_show_sale_label = true; const product_save_type = "percent"; const badge1 = ""; const badge2 = ""; const badge3 = ""; const product_title_mobile_hide = false; const product_title_style = "hide"; const enable_collection_thumb_image = false; const variantNames = ["color"]; const thumbMaxNum = 6; const suffix_id = Math.random().toFixed(6).slice(-6); const url = data.withinUrl; const productId = data.id; const price = data.price; const productAvailable = data.available; const productVariants = data.variants || []; const images = data.images || []; const image = data.image || {}; const imageWidth = image.width; let imageHeight = image.height; let image2 = null; let imageHoverOn = false; if (force_image_size !== 'natural') { imageHeight = imageWidth * force_image_size; } if (product_hover_on) { for (let i = 1; i < images.length; i++) { const img = images[i]; if (img.src && img.src.indexOf('video=') === -1) { image2 = img; imageHoverOn = true; break; } } } let compareAtPrice = data.compare_at_price; let offRatio = data.off_ratio; let discountMaxUrl = url; const showFrom = data.price_min != data.price_max ? true : false; for (let i = 0; i < productVariants.length; i++) { const variant = productVariants[i]; if (variant.price == price && compareAtPrice < variant.compare_at_price) { compareAtPrice = variant.compare_at_price; offRatio = variant.off_ratio; variant.available && (discountMaxUrl = variant.withinUrl); } } const soldOutText = "Sold out"; let soldOn = false; let saleOn = false; if (productAvailable) { if (product_show_sale_label && +price < +compareAtPrice) { saleOn = true; } } else { soldOn = true; } const diffPrice = compareAtPrice - price; const saveLabelContent = product_save_type == 'percent' ? (offRatio + '%') : ``; let saveText = "Save {off_ratio}"; saveText = saveText.replace('{off_ratio}', saveLabelContent); const productTitle = data.title; const variantValues = []; const showVariants = []; if (data.need_variant_image && enable_collection_thumb_image && variantNames.length > 0) { for (let i = 0; i < (data.options || []).length; i++) { const option = data.options[i]; const optionName = option.name.toLowerCase(); if (variantNames.includes(optionName)) { for (let j = 0; j < productVariants.length; j++) { const variant = productVariants[j]; const value = variant.options[i].value; if (!variantValues.includes(value)) { variantValues.push(value); showVariants.push(variant); } } break; } } } return ` ${showVariants.map(item => { return ` `; }).join('')} ${saleOn ? saveText : soldOutText} ${badge1} ${badge2} ${badge3} ${ "TITLE" === 'SUBTITLE' ? DATA.BRIEF : DATA.TITLE } From ${showVariants.map((item, idx) => { let showMoreHtml = ''; if (idx == thumbMaxNum) { showMoreHtml += ` +${showVariants.length - thumbMaxNum} `; } return ` ${showMoreHtml} `; }).join('') } `; }()} ${function() { const defaultSelectedVariant = data.variants.find(v => v.available) || data.variants[0]; const defaultIndex = !!defaultSelectedVariant ? data.images.findIndex(img => img.src == (defaultSelectedVariant.image && defaultSelectedVariant.image.src)) : -1; const initialSlide = defaultIndex == -1 ? 0 : defaultIndex; const attrs = data.images.length > 1 ? 'slide controls' : ''; return ` ${data.images.map(img => ` `).join('')} `; }()} ${data.images.map((img, index) => ` `).join('')} ${DATA.TITLE} ${data.brief} ${function() { const defaultSelectedVariant = data.variants.find(v => v.available) || data.variants[0]; return ` - `; }()} Qty ${function() { const defaultSelectedVariant = data.variants.find(v => v.available) || data.variants[0]; let status_lan = "Add To Cart"; if ((defaultSelectedVariant && !defaultSelectedVariant.available) || (!defaultSelectedVariant && !data.available)) { status_lan = "Sold out"; } return ` ${status_lan} `; }()} ${function() { var thumbSwitchName = ''; return data.product.options.map((option, index) => { const optionName = option.name || ''; const optionPosition = 'option' + (index + 1); const values = option.values || []; const soldOutValues = (data.soldOutValues && data.soldOutValues[optionPosition]) || {}; const variantThumbs = ["color"] || []; var isThumbImage = false; if (data.product.need_variant_image && thumbSwitchName == '') { for (let i = 0; i < variantThumbs.length; i++) { const name = variantThumbs[i].toLowerCase(); if (name == optionName.toLowerCase()) { isThumbImage = true; thumbSwitchName = name; } } } const thumbStyle = "image_with_text"; const thumbType = isThumbImage ? thumbStyle.replace(/_/g, '-') : 'text'; return ` ${optionName.slice(0, 1).toUpperCase() + optionName.slice(1).toLowerCase()} : ${values.map(value => { let selected = ''; let soldout = soldOutValues[value] ? 'soldout' : ''; if (data.selectedValues[optionName] == value) { selected = 'selected'; } let thumbImage = null; if (isThumbImage) { const variants = data.product.variants; for (let i = 0; i < variants.length; i++) { const variant = variants[i]; if (variant[optionPosition] == value && thumbImage == null) { thumbImage = variant.image; break; } } } return ` ${value} ${value} `; }).join('')} `; }).join(''); }()} ${data.targetOption || data.defaultValue || ''} - ${function() { const freeAmount = 79; const totalPrice = data.total_price || data.cart.total_price; const amountDiff = freeAmount - totalPrice const percentDiff = (amountDiff > 0 ? (totalPrice / freeAmount * 100) : 100) + '%'; const spendTip = "Spend {amount} more and get free shipping!"; let tipText = "Your order is free delivery"; if (amountDiff > 0) { tipText = spendTip.replace('{amount}', ``); } return ` ${tipText} `; }()} ${data.line_items.map(item => { const variantNames = item.options.map(option => option.value).join(' / '); return ` ${item.product_title} ${variantNames} ${(item.parsedProperties || []).map((propertie)=>{ if (propertie.isImage){ return ` ${propertie.name}: View image ` }else{ return ` ${propertie.name}: ${propertie.value} ` } }).join('')} *${item.quantity} Free gift ${ (item.discount_applications || []).map(discount_item => { const discount_item_amount = discount_item.discount_amount || discount_item.amount || ''; return ` ${discount_item.title}(-) ` }).join('') } Remove `; }).join('')} CART * Discount ${data.total_discount > 0 ? '-' : ''} * * Subtotal Taxes and shipping calculated at checkout Check out Your shopping cart is empty Continue shopping YOUR MAY ALSO LIKE ${data.map(data => ` `).join('')} × DON'T MISS OUT! Get 10% OFF Subscribe And Get First Access To The Latest Black Friday Deals. Invalid email THE NEXT STEP * Ihre persönlichen Daten werden strengstens vor Offenlegung geschützt. By signing up you agree with our Privacy Policy. By signing up you agree with our Privacy Policy. × DON'T MISS OUT! Get 10% OFF Subscribe And Get First Access To The Latest Black Friday Deals. *I agree to receive recurring automated marketing text messages (e.g. cart reminders) at the phone number provided. Consent is not a condition to purchase. Msg & data rates may apply. Msg frequency varies. Reply HELP for help and STOP to cancel. View our Terms of Service and Privacy Policy. invalid phone number SUBSCRIBE View Terms of Service and Privacy Policy 111 Item has been added ${(function(){ const products = data.products; const getDefaultVariant = function(product){ if (product.min_price_variant.available){ return product.min_price_variant; }else { const avail_variants = product.variants.filter(function(variant){ return variant.available; }); if (avail_variants.length) { return avail_variants[0]; } } }; const toQuery = obj => Object.keys(obj) .map(k => Array.isArray(obj[k]) ? obj[k].map(v => `${k}[]=${encodeURIComponent(v)}`).join('&') : `${k}=${encodeURIComponent(obj[k])}` ) .join('&'); const getDefaultTrackParams = function(product, index){ const variant = getDefaultVariant(product); const params = { aid: 'smart_recommend.2.' + data.id, scm: product.scm || data.scm || '', spm: data.spmBase + '.' + index, ssp: data.ssp || '', }; const trackParams = Object.keys(params).map(function(key){ return params[key]; }).join('__'); return trackParams; }; const hasMore = (data.products.length - data.target_top_product_num - data.page * data.limit) === 0; return ` ${(function(){ return ` ${data.config.pop_title} ${data.rebate_tips || ''} `; })()} ${product.title} Added `; })()} class SpzCustomComponent extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.container_ = null; this._atcLineItem = {}; this.cart_ = {}; this.top_product_ids_ = []; this.products_ = []; this.activityId_ = null; this.rendered_ = false; this.myInterceptor_ = null; this.i18n_ = {}; this.config_ = {}; this.page_ = 1; this.limit_ = 10; this.loading_ = false; } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.templates_ = SPZServices.templatesForDoc(this.element); this.setAction_(); } mountCallback() { console.log('pop mounted'); this.i18n_ = window.smartRecommendI18n && window.smartRecommendI18n[document.documentElement.lang || 'en-US'] || {}; const cartPopRenderEl = document.getElementById("smart_cart_pop_render"); const modalEl = document.getElementById("smart_cart_pop_modal"); const spmBase = `smart_recommend_2`; const extra = { spmBase: spmBase, i18n: this.i18n_, }; const that = this; document.addEventListener('dj.addToCart', (event) => { try { const e = event.detail; if (e.source === 'buy_now' || window.__upsell_block || this.rendered_) return; that.fetchActivityData({product_id: e.product_id, variant_id: e.variant_id}).then(data => { if (!data || !data.products || !data.products.length) return; that.config_ = data.config; const recommendStyle = document.createElement('style'); recommendStyle.innerHTML = ` #plugin_recommend_atc_pop { display: none !important; } `; document.head.appendChild(recommendStyle); if (data.config.pop_frequency === 'once' && window.sessionStorage.getItem('smart_pop_times') > 0) return; SPZ.whenApiDefined(cartPopRenderEl).then(function(api){ api.render(Object.assign({}, data, extra), true).then(function() { that.rendered_ = true; if (data.products.length) { const headEl = document.getElementById("smart_cart_pop_head_render"); if (headEl) { SPZ.whenApiDefined(headEl).then(function(head){ head.render({ data: data }); }); } SPZ.whenApiDefined(modalEl).then(function(api){ that.impressListen('#smart_cart_pop_activity', function(){ that.trackPluginImpression_(data); }); api.open(); const intersectionObserver = new IntersectionObserver( function (entries) { if (entries[0].intersectionRatio > 0){ !that.loading_ && (that.products_.length - that.target_top_product_num_) === that.page_ * that.limit_ && that.viewMore(); } }, { threshold: [0.1] } ); intersectionObserver.observe( document.querySelector('#smart_cart_pop_view_more_text') ); }); } }) }); }) } catch (e) { console.error(e); } }); } unmountCallback() { } viewMore () { const cartPopRenderEl = document.getElementById("smart_cart_pop_render"); const that = this; const data = {}; SPZ.whenApiDefined(cartPopRenderEl).then(function(api){ that.fetchActivityData({ page: that.page_ + 1, limit: that.limit_ }).then(function(data) { data.products = that.products_; data.target_top_product_num = that.target_top_product_num_; data.i18n = that.i18n_; data.spmBase = `smart_recommend_2`; api.render(data); }) }) } fetchActivityData(data) { const that = this; if (data.product_id) { that._atcLineItem = data; } that.loading_ = true; return that.getCart().then(cart => { that.cart_ = cart.cart; return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_activities", { method: "POST", headers: { "Content-Type": "application/json", "store-id": window.SHOPLAZZA.shop.shop_id, }, body: JSON.stringify({ "show_type": 2, "line_item": { "product_id": that._atcLineItem.product_id, "variant_id": that._atcLineItem.variant_id, }, line_items: cart.cart.line_items, "page": data.page || 1, "limit": data.limit || 10, }) }).then(function(res){ if(res.ok){ return res.json(); } }).then(function(data){ data.cart = cart.cart; if (data.page === 1) { that.target_top_product_num_ = data.target_top_product_num || 0; } that.products_ = that.products_.concat(data.products || []); that.page_ = data.page || 1; that.limit_ = data.limit || 10; return data; }).catch(function(e){ console.log(e); }).finally(function(){ that.loading_ = false; }) }); }; setAction_() { this.registerAction('changeBannerColor', (data) => { if (!data.args.data || !data.args.data.data || !data.args.data.data.data) return false; const config = data.args.data.data.data.config; const bannerBgEl = document.querySelector('.smart_cart_pop_banner_bg'); if (bannerBgEl && config) { bannerBgEl.style.background = config.banner_bg_color; bannerBgEl.style.color = config.banner_text_color; } }); this.registerAction('handleProductChange', (data) => { const that = this; const imageEl = document.getElementById(`smart_cart_pop_image_${data.args.data.product_id}`); SPZ.whenApiDefined(imageEl).then(function(api){ api.render({ data: data.args.data, config: that.config_ }); }); const atcTextEl = document.getElementById(`smart_cart_pop_atc_${data.args.data.product_id}`); SPZ.whenApiDefined(atcTextEl).then(function(api){ api.render({ data: data.args.data, defaultText: data.args.defaultText, soldOutText: that.i18n_.sold_out }); }); if (data.args.data.variant.available) { document.getElementById(`smart_cart_pop_atc_btn_${data.args.data.product_id}`).classList.remove('zb-pointer-events-none'); } else { document.getElementById(`smart_cart_pop_atc_btn_${data.args.data.product_id}`).classList.add('zb-pointer-events-none'); } }); this.registerAction('handleProduct', (detail) => { const that = this; this.renderProductsForm_(detail.args.data.data); }); this.registerAction('addATCHook', (data) => { const params = data.args; this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({ event: 'dj.addToCart', params: { aid: 'smart_recommend.2.' + params.activity_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${params.spm}`, }, once: true }); }); this.registerAction('handleAtcSuccess', (detail) => { detail.args.data.product = detail.args.data.product || {}; detail.args.data.variant = detail.args.data.variant || {}; const defParams = detail.args.product.split('__'); const product_id = detail.args.data.product.id; const product_title = detail.args.data.product.title; const variant_id = detail.args.data.variant.id; const price = detail.args.data.variant.price; const aid = defParams[0]; const ifb = detail.args.data.product.ifb; const cfb = detail.args.data.product.cfb; const scm = defParams[1]; const spm = defParams[2]; const ssp = defParams[3]; 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, } }; const activity_id = `${detail.args.activity_id}`; const target_drive_way = detail.args.target_drive_way; document.getElementById(`smart_cart_pop_loading_${product_id}`).classList.add('zb-hidden'); document.getElementById(`smart_cart_pop_added_${product_id}`).classList.remove('zb-hidden'); setTimeout(() => { document.getElementById(`smart_cart_pop_added_${product_id}`).classList.add('zb-hidden'); document.getElementById(`smart_cart_pop_atc_${product_id}`).classList.remove('zb-hidden'); document.getElementById(`smart_cart_pop_atc_btn_${product_id}`).classList.remove('zb-pointer-events-none'); }, 1000); this.tranckAddToCart(params); if (target_drive_way === 'rebate') { const bannerEl = document.getElementById(`smart_cart_pop_banner`); this.getRecommendInfo(activity_id).then(res => { if (res && res.rebate_tips) { bannerEl.innerHTML = res.rebate_tips; } }) } }); this.registerAction('handleCartSummary', (event) => { this.onBuyNowClick(); const tipEl = document.getElementById("smart_cart_pop_tip_info"); const cart = event && event.args && event.args.data && event.args.data.data; if (!tipEl || !cart) return; const that = this; let total_price = cart.total_price; if (!total_price) { SPZ.whenApiDefined(tipEl).then(function(api){ api.render({ total_price: total_price, i18n: that.i18n_ }, false); }); } else { this.getBindDiscount_(cart.line_items).then(res => { if (res && res.discount_code){ const total = cart.line_price - cart.total_discount - res.bundle_discount_value; if (total > 0) { total_price = total; } else { total_price = 0; } } SPZ.whenApiDefined(tipEl).then(function(api){ api.render({ total_price: total_price, i18n: that.i18n_ }, false); }); }) } }); this.registerAction('open', () => { window.sessionStorage.setItem('smart_pop_times', Number(window.sessionStorage.getItem('smart_pop_times')) + 1); }); this.registerAction('close', () => { this.rendered_ = false; this.products_ = []; window.djInterceptors && window.djInterceptors.track.eject(this.myInterceptor_); }); } getCart() { return fetch(`${window.SHOPLAZZA.routes.root || ''}/api/cart`, { method: 'GET', headers: { 'Content-Type': 'application/json; charset=UTF-8', }, }).then(res => res.json()) } getRecommendInfo (activity_id) { return this.getCart().then(cart => { this.cart_ = cart.cart; return fetch(`${window.SHOPLAZZA.routes.root || ''}/api/possum/recommend_info`, { method: 'POST', headers: { 'Content-Type': 'application/json; charset=UTF-8', }, body: JSON.stringify({ show_type: 2, rule_id: `${activity_id}`, line_items: cart.cart.line_items, line_item: this._atcLineItem, }) }).then(res => res.json()) }) } renderProductsForm_(data) { const products = data.products; const listPopRenderEl = document.getElementById("smart_cart_pop_render"); if (!listPopRenderEl) return; listPopRenderEl.querySelectorAll('.smart_cart_pop_atc_btn_bg').forEach(function(el){ el.style.background = data.config.add_to_cart_button_color; }); products.forEach(function(product){ const productId = product.id; const productFormEls = listPopRenderEl.querySelectorAll(`ljs-product-form[product-id="${productId}"]`); let variantsEl = listPopRenderEl.querySelectorAll(`ljs-product-form[product-id="${productId}"] #smart_cart_pop_variant_${productId}_mobile ljs-variants`); if (window.innerWidth > 768) { variantsEl = listPopRenderEl.querySelectorAll(`ljs-product-form[product-id="${productId}"] #smart_cart_pop_variant_${productId}_pc ljs-variants`); } productFormEls.forEach(function(el){ SPZ.whenApiDefined(el).then(function(api){ api.setProduct(product); }); }); variantsEl.forEach(function(el){ SPZ.whenApiDefined(el).then(function(api){ api.handleRender(product); }); }) }); } tranckAddToCart(detail) { if (window.$) { window.$(document.body).trigger('dj.addToCart', detail); } } trackPluginImpression_(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: 2 }); window.sa.track("module_impressions", { aid: `smart_recommend.2.${rule.id}` }); } } onBuyNowClick() { const checkoutEl = document.getElementById("smart_cart_pop_checkout"); if (!checkoutEl) return; checkoutEl.addEventListener('click', function(e) { const trackData = { plugin_name: "upsell", event_type: "checkout_submit", rule_id: `${this.activityId_}`, show_type: 2 }; window.sa && window.sa.track("plugin_common", trackData); }); } getBindDiscount_(carts) { let bundle_sale_ids = []; try { bundle_sale_ids = sessionStorage['bundle_sale_ids'] && JSON.parse(sessionStorage['bundle_sale_ids']).filter((item, index, arr) => arr.indexOf(item, 0) === index).slice(-5); } catch (err) { console.error(err); } if (!carts.length) { Promise.resolve(); } return fetch(`${window.SHOPLAZZA.routes.root || ''}/api/bundle-sales/cart`, { method: 'POST', headers: { 'Content-Type': 'application/json; charset=UTF-8', 'store-id': window.SHOPLAZZA.shop.shop_id, }, body: JSON.stringify({ cart: carts, action_type: 'cart', bundle_sale_ids }) }).then(res => res.json()) } 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', SpzCustomComponent); ${function(){ return ` ${data.data.rebate_tips || ''} `; }()} ${function(){ const getImageHeight = function(image){ const width = image.width || 500; const height = image.height || 500; const image_size = data.config.image_size || 0; let ratio = 0; if(image_size == 0){ ratio = (height / width).toFixed(2); }else if(image_size == 1){ ratio = 1.5; } return 132 * ratio; }; const image = data.data.variant.image || data.data.product.image; return ` `; }()} ${(function(){ const product = data.product; const avail_variants = product.variants.filter(function(variant){ return variant.available; }); const selected_variant = product.min_price_variant.available ? product.min_price_variant : avail_variants.length && avail_variants[0]; return ` ${option.name} ${ option.values.map(function(value, index){ const checked = selected_variant["option"+option.position] == value ? "checked": ""; return ` ${value} ` }).join("") } ` })()} ${(function(){ const variant = data.variant; return ` `; })()} ${(function(){ const variant = data.variant; return ` ${ variant.options.map(function(option){ return option.value; }).join("/") || 'Not exist' } `; })()} ${(function(){ const variant = data.data && data.data.variant; const defaultText = data.defaultText || 'Add To Cart'; const text = (!variant || variant.available) ? defaultText: data.soldOutText; return ` ${text} `; })()} ${(function(){ let cart = data; if(data.data) { cart = data.data; } return ` ${cart.item_count >=0 ? cart.item_count : '..'} Checkout `; })()} GIFTS POINTS