www.abyssoo.shop Open in urlscan Pro
104.18.232.42  Public Scan

Submitted URL: https://abyssoo.shop/
Effective URL: https://www.abyssoo.shop/
Submission: On May 15 via api from US — Scanned from CA

Form analysis 7 forms found in the DOM

GET

<form class="flex-grow-1 i-spzhtml-form" id="header-search-form" is="spz-form" action-xhr="/search" method="get" novalidate="">
  <div tabindex="-1" class="flex relative header__search">
    <input autocomplete="off" id="header-search-form-input" type="text" name="q" value="" class="border-none header__search-placeholder-current header__search-input" placeholder="Search..."
      @input-debounced="search-predictive.open;header-search-search-icon-render.rerender(data=event.value);search-predictive-result.rerender(data=event.value);">
    <label for="header-search-form-input" id="header-search-input-replace" style="position: absolute; height: 40px; width: calc(100% - 52px); background-color: transparent;"
      @tap="search-input-close.toggleClass(class='header__search-close-show', force=true);header-search-input-replace.toggleClass(class='opacity-0', force=true);"> </label>
    <spz-render class="header-search-search-icon-container absolute top-0 color-body-40 i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" id="header-search-search-icon-render" layout="container" manual=""
      i-spzhtml-layout="container">
      <template>
        <a class="header-search-search-icon flex" href="/search?q=${encodeURIComponent(typeof(data||'')=='string'?data:'')}">
                <svg class="" width="24" height="24" xmlns="http://www.w3.org/2000/svg"><path d="M11.16 1a9.16 9.16 0 1 1 0 18.322A9.16 9.16 0 0 1 11.16 1zm0 1.629a7.532 7.532 0 1 0 0 15.064 7.532 7.532 0 0 0 0-15.064zm5.465 14.148 1.152-1.152L23 20.848 21.848 22l-5.223-5.223z" fill="currentColor"></path></svg>
              </a>
      </template>
      <a class="header-search-search-icon flex" href="/search?q=">
              <svg class="" width="24" height="24" xmlns="http://www.w3.org/2000/svg"><path d="M11.16 1a9.16 9.16 0 1 1 0 18.322A9.16 9.16 0 0 1 11.16 1zm0 1.629a7.532 7.532 0 1 0 0 15.064 7.532 7.532 0 0 0 0-15.064zm5.465 14.148 1.152-1.152L23 20.848 21.848 22l-5.223-5.223z" fill="currentColor"></path></svg>
            </a></spz-render>
  </div>
</form>

GET

<form class="flex-grow-1 i-spzhtml-form" id="header-search-form" is="spz-form" action-xhr="/search" method="get" novalidate="">
  <div tabindex="-1" class="flex relative header__search">
    <input autocomplete="off" id="header-search-form-input" type="text" name="q" value="" class="border-none header__search-placeholder-current header__search-input" placeholder="Search..."
      @input-debounced="search-predictive.open;header-search-search-icon-render.rerender(data=event.value);search-predictive-result.rerender(data=event.value);">
    <label for="header-search-form-input" id="header-search-input-replace" style="position: absolute; height: 40px; width: calc(100% - 52px); background-color: transparent;"
      @tap="search-input-close.toggleClass(class='header__search-close-show', force=true);header-search-input-replace.toggleClass(class='opacity-0', force=true);"> </label>
    <spz-render class="header-search-search-icon-container absolute top-0 color-body-40 i-spzhtml-layout-container i-spzhtml-element i-spzhtml-notbuilt spz-notbuilt spz-unresolved i-spzhtml-unresolved" id="header-search-search-icon-render"
      layout="container" manual="" i-spzhtml-layout="container">
      <a class="header-search-search-icon flex" href="/search?q=">
              <svg class="" width="24" height="24" xmlns="http://www.w3.org/2000/svg"><path d="M11.16 1a9.16 9.16 0 1 1 0 18.322A9.16 9.16 0 0 1 11.16 1zm0 1.629a7.532 7.532 0 1 0 0 15.064 7.532 7.532 0 0 0 0-15.064zm5.465 14.148 1.152-1.152L23 20.848 21.848 22l-5.223-5.223z" fill="currentColor"></path></svg>
            </a>
      <template>
        <a class="header-search-search-icon flex" href="/search?q=${encodeURIComponent(typeof(data||'')=='string'?data:'')}">
                <svg class="" width="24" height="24" xmlns="http://www.w3.org/2000/svg"><path d="M11.16 1a9.16 9.16 0 1 1 0 18.322A9.16 9.16 0 0 1 11.16 1zm0 1.629a7.532 7.532 0 1 0 0 15.064 7.532 7.532 0 0 0 0-15.064zm5.465 14.148 1.152-1.152L23 20.848 21.848 22l-5.223-5.223z" fill="currentColor"></path></svg>
              </a>
      </template>
    </spz-render>
  </div>
</form>

GET

<form class="flex-grow-1 i-spzhtml-form" id="header-search-formmd" is="spz-form" action-xhr="/search" method="get" novalidate="">
  <div tabindex="-1" class="flex relative header__search">
    <input autocomplete="off" id="header-search-form-inputmd" type="text" name="q" value="" class="border-none header__search-placeholder-current header__search-input" placeholder="Search..."
      @input-debounced="search-predictive.open;header-search-search-icon-rendermd.rerender(data=event.value);search-predictive-result.rerender(data=event.value);">
    <label for="header-search-form-inputmd" id="header-search-input-replacemd" style="position: absolute; height: 40px; width: calc(100% - 52px); background-color: transparent;"
      @tap="search-input-closemd.toggleClass(class='header__search-close-show', force=true);header-search-input-replacemd.toggleClass(class='opacity-0', force=true);"> </label>
    <spz-render class="header-search-search-icon-container absolute top-0 color-body-40 i-spzhtml-layout-container i-spzhtml-element i-spzhtml-notbuilt spz-notbuilt spz-unresolved i-spzhtml-unresolved" id="header-search-search-icon-rendermd"
      layout="container" manual="" i-spzhtml-layout="container">
      <a class="header-search-search-icon flex" href="/search?q=">
              <svg class="" width="24" height="24" xmlns="http://www.w3.org/2000/svg"><path d="M11.16 1a9.16 9.16 0 1 1 0 18.322A9.16 9.16 0 0 1 11.16 1zm0 1.629a7.532 7.532 0 1 0 0 15.064 7.532 7.532 0 0 0 0-15.064zm5.465 14.148 1.152-1.152L23 20.848 21.848 22l-5.223-5.223z" fill="currentColor"></path></svg>
            </a>
      <template>
        <a class="header-search-search-icon flex" href="/search?q=${encodeURIComponent(typeof(data||'')=='string'?data:'')}">
                <svg class="" width="24" height="24" xmlns="http://www.w3.org/2000/svg"><path d="M11.16 1a9.16 9.16 0 1 1 0 18.322A9.16 9.16 0 0 1 11.16 1zm0 1.629a7.532 7.532 0 1 0 0 15.064 7.532 7.532 0 0 0 0-15.064zm5.465 14.148 1.152-1.152L23 20.848 21.848 22l-5.223-5.223z" fill="currentColor"></path></svg>
              </a>
      </template>
    </spz-render>
  </div>
</form>

GET

<form class="flex-grow-1 i-spzhtml-form" id="header-search-formmodel" is="spz-form" action-xhr="/search" method="get" novalidate="">
  <div tabindex="-1" class="flex relative header__search">
    <input autocomplete="off" id="header-search-form-inputmodel" type="text" name="q" value="" class="border-none header__search-placeholder-current header__search-input" placeholder="Search..."
      @input-debounced="search-predictive.open;header-search-search-icon-rendermodel.rerender(data=event.value);search-predictive-result.rerender(data=event.value);">
    <label for="header-search-form-inputmodel" id="header-search-input-replacemodel" style="position: absolute; height: 40px; width: calc(100% - 52px); background-color: transparent;"
      @tap="search-input-closemodel.toggleClass(class='header__search-close-show', force=true);header-search-input-replacemodel.toggleClass(class='opacity-0', force=true);"> </label>
    <spz-render class="header-search-search-icon-container absolute top-0 color-body-40 i-spzhtml-layout-container i-spzhtml-element i-spzhtml-notbuilt spz-notbuilt spz-unresolved i-spzhtml-unresolved" id="header-search-search-icon-rendermodel"
      layout="container" manual="" i-spzhtml-layout="container">
      <a class="header-search-search-icon flex" href="/search?q=">
              <svg class="" width="24" height="24" xmlns="http://www.w3.org/2000/svg"><path d="M11.16 1a9.16 9.16 0 1 1 0 18.322A9.16 9.16 0 0 1 11.16 1zm0 1.629a7.532 7.532 0 1 0 0 15.064 7.532 7.532 0 0 0 0-15.064zm5.465 14.148 1.152-1.152L23 20.848 21.848 22l-5.223-5.223z" fill="currentColor"></path></svg>
            </a>
      <template>
        <a class="header-search-search-icon flex" href="/search?q=${encodeURIComponent(typeof(data||'')=='string'?data:'')}">
                <svg class="" width="24" height="24" xmlns="http://www.w3.org/2000/svg"><path d="M11.16 1a9.16 9.16 0 1 1 0 18.322A9.16 9.16 0 0 1 11.16 1zm0 1.629a7.532 7.532 0 1 0 0 15.064 7.532 7.532 0 0 0 0-15.064zm5.465 14.148 1.152-1.152L23 20.848 21.848 22l-5.223-5.223z" fill="currentColor"></path></svg>
              </a>
      </template>
    </spz-render>
  </div>
</form>

POST

<form id="subscription-form1664529777998" class="subscription-form i-spzhtml-form" action-xhr="/api/customers/newsletters" method="POST" custom-validation="change-interact-and-submit"
  @submiterror="subscription-email-error1664529777998.show(text=event.errors);subscription-email-error1664529777998.toggleClass(class='hidden', force=false);"
  @submitsuccess="subscription-subscription-success1664529777998.toggleClass(class='hidden', force=false);subscription-form1664529777998.toggleClass(class='hidden', force=true);subscription-popup.open;" novalidate="">
  <div class="subscription-form-group flex items-center justify-between ">
    <div class="subscription-form-item relative flex-1">
      <input class="subscription-form-input clear w-full bg-white" type="text" id="subscription-email1664529777998" name="email" required="" placeholder="Enter your email"
        pattern="[a-zA-Z0-9!#$%&amp;'*+\/=?^_`\{\|\}~\-]+(?:\.[a-zA-Z0-9!#$%&amp;'*+\/=?^_`\{\|\}~\-]+)*@(?:[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="subscription-error.toggleClass(class='hidden', force=true);">
      <label class="subscription-form-label absolute color-body-text-60 text-base" for="subscription-email1664529777998">
      </label>
      <spz-toast validation-for="subscription-email1664529777998" visible-when-invalid="valueMissing" layout="nodisplay" hidden="" class="i-spzhtml-layout-nodisplay" style="display: none" i-spzhtml-layout="nodisplay">Please fill in this
        field</spz-toast>
      <spz-toast validation-for="subscription-email1664529777998" visible-when-invalid="patternMismatch" layout="nodisplay" hidden="" class="i-spzhtml-layout-nodisplay" style="display: none" i-spzhtml-layout="nodisplay">Please enter a valid email
        address</spz-toast>
      <spz-toast id="subscription-email-error1664529777998" layout="nodisplay" class="i-spzhtml-layout-nodisplay" hidden="" style="display: none" i-spzhtml-layout="nodisplay"></spz-toast>
    </div>
    <button class="subscription-submit-btn button-primary flex-shrink-0 body-plus-2" type="submit">
      <span class="md:hidden">Subscribe</span>
      <svg class="lg:hidden" width="20" height="6" xmlns="http://www.w3.org/2000/svg">
        <path d="m14 0 6 3-6 3V4H0V2h14V0z" fill="currentColor"></path>
      </svg>
    </button>
  </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 &amp;&amp; product.options.length &amp;&amp; product.options.length > 0) &amp;&amp; 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>

POST //translate.googleapis.com/translate_voting?client=te

<form id="goog-gt-votingForm" action="//translate.googleapis.com/translate_voting?client=te" method="post" target="votingFrame" class="VIpgJd-yAWNEb-hvhgNd-aXYTce"><input type="text" name="sl" id="goog-gt-votingInputSrcLang"><input type="text"
    name="tl" id="goog-gt-votingInputTrgLang"><input type="text" name="query" id="goog-gt-votingInputSrcText"><input type="text" name="gtrans" id="goog-gt-votingInputTrgText"><input type="text" name="vote" id="goog-gt-votingInputVote"></form>

Text Content

View all

 * Free Shipping on orders over $49.98/€46.38 Free Shipping on orders over
   $49.98/€46.38 Shop now
 * Welcome to our store Welcome to our store Shop now

Free Shipping on orders over $49.98/€46.38 Shop now
Welcome to our store Shop now


Free Shipping on orders over $49.98/€46.38 Shop now
Welcome to our store Shop now
View all (2)
View all (2)


JEANSUR



Powered by Translate
English,Deutsch,Italiano,Français,Español,简体中文
USD
 * United States Dollars (USD)
 * Euro (EUR)
 * United Kingdom Pounds (GBP)
 * Canadian Dollars (CAD)


Search
Account
Log in Create an account
${data.data.count > 99 ? '99+' : data.data.count} 0 Cart
${data.line_items.map(item => { return `
${item.product_title}
${item.options.map(o => `
${o.name}: ${o.value}
`).join('')} ${(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('') }
`; }).join('')}

${data.total_discount > 0 ? ( `
Discount -
` ) : ''}

Subtotal

Taxes and shipping calculated at checkout
Check out

Subtotal
$0.00
Taxes and shipping calculated at checkout
Check out

Your cart is currently empty.
Close
 * HOME
 * All Products
 * Women Pants
 * Skinny Jeans
 * Flared Jeans
 * Baggy Jeans
 * Dresses
 * Outwears
 * More links
   ${function() { var linkList = [ { id: 58912711, index: 1, title: "HOME", url:
   '/', target: '', tag: "", product0: null , children: [ ] }, { id: 58912713,
   index: 2, title: " All Products", url: '/collections/all-products', target:
   '', tag: "", product0: null , children: [ ] }, { id: 58912715, index: 3,
   title: "Women Pants", url: '/collections/women-pants', target: '', tag: "",
   product0: null , children: [ ] }, { id: 58912717, index: 4, title: "Skinny
   Jeans", url: '/collections/skinny-jeans', target: '', tag: "", product0: null
   , children: [ ] }, { id: 58912719, index: 5, title: "Flared Jeans", url:
   '/collections/flared-jeans', target: '', tag: "", product0: null , children:
   [ ] }, { id: 58912721, index: 6, title: "Baggy Jeans", url:
   '/collections/baggy-jeans', target: '', tag: "", product0: null , children: [
   ] }, { id: 58912723, index: 7, title: "Dresses", url: '/collections/dresses',
   target: '', tag: "", product0: null , children: [ ] }, { id: 58912725, index:
   8, title: "Outwears", url: '/collections/outwears', target: '', tag: "",
   product0: null , children: [ ] }, ].slice(offset); var hasChild =
   linkList.some(v => (v.children && v.children.length || v.product0)); if
   (!hasChild) { return `
      ${linkList.map(item => `
    * ${item.url ? ` ${item.title} ${item.tag ? ` ${item.tag.label} ` : ''} `: `
      ${item.title} ${item.tag ? ` ${item.tag.label} ` : ''}
      `} ${item.children.length ? ` ` : ''}
      `).join('')}
   
   ` } else { return `
      ${linkList.map(item => `
    * ${item.url ? ` ${item.title} ${item.tag ? ` ${item.tag.label} ` : ''} `: `
      ${item.title} ${item.tag ? ` ${item.tag.label} ` : ''}
      `} ${item.children.length ? ` ` : ''}
      `).join('')}
   
   ${linkList.map(item => `
   ${item.children ? `
      ${item.children.map(link => { return `
    * ${link.url ? ` ${link.title} ${link.tag ? ` ${link.tag.label} ` : ''} `: `
      ${link.title} ${link.tag ? ` ${link.tag.label} ` : ''}
      `} ${link.children ? `
        ${link.children.map(link_3 => `
      * ${link_3.url ? ` ${link_3.title} ${link_3.tag ? ` ${link_3.tag.label} `
        : ''} `: `
        ${link_3.title} ${link_3.tag ? ` ${link_3.tag.label} ` : ''}
        `}
        `).join('')}
      ` : ''}
      `}).join('')}
   
   ${function() { const data = item.product0; if (!data) return ''; return ` `
   }()}
   ` : ''}
   `).join('')} ` } }()}




 * HOME
 * All Products
 * Women Pants
 * Skinny Jeans
 * Flared Jeans
 * Baggy Jeans
 * Dresses
 * Outwears
   
   English,Deutsch,Italiano,Français,Español,简体中文
   USD
    * United States Dollars (USD)
    * Euro (EUR)
    * United Kingdom Pounds (GBP)
    * Canadian Dollars (CAD)

Log in Create an account
${function() { if (data === undefined || typeof data !== 'string' || data == '')
return `

`; if (data === 'close') return ''; return `

View more

`; }()}


   

 * WELCOME TO JEANSUR
   
   Shop Now


TOP WEKEEND SELLERS

View all
 * 
   SALE
   Holy Grail Tummy Control Bootcut Jeans (Buy 2 Free Shipping)
   (30)
   $39.99
   $77.99
   Save 49%
   
   
 * 
   SALE
   Tummy Control Skinny Jeans (Buy 2 Free Shipping)
   (32)
   $39.99
   $79.98
   Save 50%
   
   
 * 
   SALE
   Pull On Denim Joggers(Buy 2 Free Shipping)
   $39.99
   $69.98
   Save 43%
   
   
 * 
   SALE
   Tummy Control Cuffed Slim Fit Jeans (Buy 2 Free Shipping)
   (33)
   $39.99
   $77.99
   Save 49%
   
   
 * 
   SALE
   Tummy Control Butt Lifting Jeans (Buy 2 Free Shipping)
   (31)
   $39.99
   $79.98
   Save 50%
   
   


TOP ITEM OF THE WEEK

${data.day_day === undefined ? '00' : data.day_day } Days
:
${data.hour_hour === undefined ? '00' : data.hour_hour } Hours
:
${data.mins_mins === undefined ? '00' : data.mins_mins } Minutes
:
${data.seconds_seconds === undefined ? '00' : data.seconds_seconds } Seconds
Save  ${data.variant.off_ratio}%
-
 - ${data.eventName == 'mouseout' ? data.selectedOptions[0] : (data.targetOption
|| data.defaultValue || '')}
${function() { var thumbSwitchName = ''; return (data.product.options ||
[]).map((option, index) => { const optionName = option.name || ''; const
position = `option${index + 1}`; var isThumbImage = false; if
(data.product.need_variant_image && thumbSwitchName === '') { const variantNames
= ["color"] || []; for (let i = 0, len = variantNames.length; i < len; i++) {
const name = variantNames[i]; if (name === optionName) { isThumbImage = true;
thumbSwitchName = name; } } } const variantType = "button"; const thumbStyle =
"image_with_text"; const mouseEvent = isThumbImage ?
('single-product-variant-template-1664529798004-' + optionName +
'.rerender(data=event);') : ''; return (variantType == 'dropdown' &&
!isThumbImage) ? `
${optionName.toLowerCase()}
${option.values.map(value => { const selected = data.selectedValues[optionName]
== value ? 'selected' : ''; return `${value}` }).join('')}

` : `
${optionName.toLowerCase()}
${option.values.map(value => { const selected = data.selectedValues[optionName]
== value ? 'selected' : ''; let thumbImage = null; if (isThumbImage) { const
variants = data.product.variants; for (let i = 0, len = variants.length; i <
len; i++) { const variant = variants[i]; if (variant[position] == value &&
thumbImage == null) { thumbImage = variant.image; break; } } } return `
${value}
`; }).join('')}
`; }).join('') }()}
${function() { let availableQuantity = data && data.available_quantity; const
lowStock = 5; if (availableQuantity == undefined) { return ''; }
availableQuantity = Math.max(availableQuantity, 0); return availableQuantity >
lowStock ? ` ${("{stock} in stock, ready to be shipped").replace(/\{*stock*\}/,
availableQuantity)} ` : ` ${("Only {count} left!").replace(/\{*count*\}/,
availableQuantity)} `; }()}
${function() { const product0 = Object.prototype.toString.call(data) == '[object
Array]' ? data[0] : data; return `
${product0.images.slice(1, 4).map((image, index) => ` `).join('')}


${PRODUCT0.TITLE}

${product0.images.slice(0, 4).map(image => ` `).join('')}

`; }()}
Price
${function() { const product0 = Object.prototype.toString.call(data) == '[object
Array]' ? data[0] : data; const selectedVariant = product0.variants.find(v =>
v.available) || product0.variants[0]; return !!selectedVariant ? `
Save  ${selectedVariant.off_ratio}%
` : `
-
`; }()}
${function() { const product0 = Object.prototype.toString.call(data) == '[object
Array]' ? data[0] : data; if((product0.options && product0.options.length) > 0)
{ return ` `; } return ``; }()}
Quantity
${function() { const product0 = Object.prototype.toString.call(data) == '[object
Array]' ? data[0] : data; return ` `; }()}
${function() { const product0 = Object.prototype.toString.call(data) == '[object
Array]' ? data[0] : data; const selectedVariant = product0.variants.find(v =>
v.available) || product0.variants[0]; const statusLan = ( (selectedVariant &&
!selectedVariant.available) || (!selectedVariant && !product0.available)) ?
"Sold out" : "Add to cart"; const status = ( (selectedVariant &&
!selectedVariant.available) || (!selectedVariant && !product0.available)) ?
'soldout' : 'available'; return ` ${statusLan}

 - 
Product is unavailable.
Product was out of stock.
Buy it now

`; }()}
${function() { const MAX_INVENTORY = 999999; const product0 =
Object.prototype.toString.call(data) == '[object Array]' ? data[0] : data; const
inventoryQty = product0.inventory_quantity; const inventoryPolicy =
product0.inventory_policy; const inventoryTracking =
product0.inventory_tracking; const exactInventoryStatusId =
"1664529798004-exact-inventory-render"; const lowStock = 5; const
selectedVariant = product0.variants.find(v => v.available) || data.variants[0];
const selectedVariantAvailableQuantity = selectedVariant &&
selectedVariant.available_quantity; let actualInventory = inventoryQty; if
((inventoryTracking && inventoryPolicy == 'continue') || !inventoryTracking) {
actualInventory = MAX_INVENTORY; } return ` Avaliability: Out of stock in stock,
ready to be shipped Low stock `; }()}


EVERLANE THE UTILITY BARREL PANT(BUY 2 FREE SHIPPING)


Price
$65.98 $32.99 Save  50%
color  - ${data.eventName == 'mouseout' ? data.selectedOptions[0] :
(data.targetOption || data.defaultValue || '')}
Black
Bone
Navy
size
XS
S (4-6)
M (8-10)
L (12-14)
XL (14-16)
2XL (18-20)
3XL (22-24)
Quantity
Add to cart

 - $32.99
Product is unavailable.
Product was out of stock.
Buy it now

Avaliability: in stock, ready to be shipped
Sign up and save
Subscribe to get special offers, free giveaways, and once-in-a-lifetime deals.
Please fill in this field Please enter a valid email address
Subscribe
Thanks for subscribing

Sign Up For Newsletter

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

NEW ARRIVAL

View more
View more
Plus Size Jeans



Women Holes Plus Size Jeans Pants Skinny Elastic Pencil Pants Mid Waist Black
Jeans Woman Casual Spring 2-7XL Trousers



Women Trousers Button Micro Flare High Waist Stretch Jeans



Popular Wash Micro Flare Stretch Ripped Jeans Women Trousers



SALE
Spring Autumn Thin Fashion Y2K Blue Jeans Women High Waist Stretch Jeans Femme
Trousers Vintage Casual Comfort Denim Flare Pants
Save 37%


Women's Sexy High Waist Hole Bandage Cut Off Denim Jeans Shorts White Black Blue



Fashionable high waisted elastic flared pants



High Waist Hip Lift Slim Breasted New Jeans Stretch Skinny Trousers For Women



SALE
2024 Women's Jeans Slim Fit Slimming Bleached Bell-Bottom Pants Women Flare
Pants Trousers Autumn Winter
Save 34%


Plus Size Jeans



Women Holes Plus Size Jeans Pants Skinny Elastic Pencil Pants Mid Waist Black
Jeans Woman Casual Spring 2-7XL Trousers



Women Trousers Button Micro Flare High Waist Stretch Jeans



Popular Wash Micro Flare Stretch Ripped Jeans Women Trousers



SALE
Spring Autumn Thin Fashion Y2K Blue Jeans Women High Waist Stretch Jeans Femme
Trousers Vintage Casual Comfort Denim Flare Pants
Save 37%


Women's Sexy High Waist Hole Bandage Cut Off Denim Jeans Shorts White Black Blue



Fashionable high waisted elastic flared pants



High Waist Hip Lift Slim Breasted New Jeans Stretch Skinny Trousers For Women



SALE
2024 Women's Jeans Slim Fit Slimming Bleached Bell-Bottom Pants Women Flare
Pants Trousers Autumn Winter
Save 34%


${ (data.index + 1) + '/' + (Math.ceil(data.total / 3))}

${ (data.index + 1) + '/' + data.total}



ABOUT RETURNS

Quick return process

MEMBER DISCOUNT

Our payment in formation is processed securely

CONTACT US

support@jeansur.com


COMPANY INFO
 * ABOUT US
 * CONTACT US
 * PRIVACY POLICY

HELP & SUPPORT
 * RETURN POLICY
 * SHIPPING INFORMATION
 * TERMS OF SERVICE
 * FAQS

We accept

COMPANY INFO
 * ABOUT US
 * CONTACT US
 * PRIVACY POLICY

HELP & SUPPORT
 * RETURN POLICY
 * SHIPPING INFORMATION
 * TERMS OF SERVICE
 * FAQS

We accept


© 2024 Jeansur



${function(){ const settings_product_title = "title"; const
product_grid_image_size = "100%"; const settings_product_image_hover_on = true;
let settings_product_save_label = true; const settings_product_swatches_name =
["color"]; const settings_collection_color_swatches = true; const
variantShowLimit = 4; const private_id = 'product-tmpl-' +
Math.random().toFixed(6).slice(-6) const product_variants = data.variants || [];
const product_id = data.id; const images = data.images || []; const image =
data.image || {}; const imageWidth = image.width; let imageHeight =
image.height; if (product_grid_image_size !== 'natural') { imageHeight =
(imageWidth * parseFloat(product_grid_image_size)) / 100; } const price =
Number(data.price_min); let compareAtPrice = Number(data.compare_at_price); let
offRatio = data.off_ratio; const type = data.type; const isMock = data.isMock;
let product_image_hover_on = false; for (let i = 0; i < product_variants.length;
i++) { const item = product_variants[i]; const vcap =
Number(item.compare_at_price); if (item.price == price && vcap > compareAtPrice)
{ compareAtPrice = vcap; offRatio = item.off_ratio; } } let second_image = null;
if (settings_product_image_hover_on) { for (let i = 1; i < images.length; i++) {
const img = images[i]; if (img.src && img.src.indexOf('video=') === -1) {
second_image = img; product_image_hover_on = true; break; } } } let
sold_label_on = false; let sale_label_on = false; if
(settings_product_save_label == null) { settings_product_save_label = true; } if
(!data.available) { sold_label_on = true; } if (settings_product_save_label &&
compareAtPrice > price && data.available) { sale_label_on = true; } const
diffPrice = compareAtPrice - price; const variantValues = []; const showVariants
= []; if (data.need_variant_image && settings_collection_color_swatches &&
settings_product_swatches_name.length > 0) { for (let i = 0; i < (data.options
|| []).length; i++) { const option = data.originData.options[i]; const
optionName = option.name && option.name.toLowerCase(); if
(settings_product_swatches_name.includes(optionName)) { for (let j = 0; j <
product_variants.length; j++) { const variant = product_variants[j]; const value
= variant.options[i].value; if (!variantValues.includes(value)) {
variantValues.push(value); showVariants.push(variant); } } break; } } } return `
${function(){ if(showVariants.length == 0){ return ` ` } return ` ${
showVariants.map(item=>{ return ` `; }).join('') } ` }() } SOLD OUT SALE
${ showVariants.slice(0,variantShowLimit).map((item,index)=>{ return ``;
}).join('') } +${showVariants.length - variantShowLimit}
${(settings_product_title === 'sub_title' && data.brief) ? data.brief :
data.title}
Save ${offRatio}%


`; }()}
Save  ${data.variant.off_ratio}%
-
${function() { let availableQuantity = data && data.available_quantity; const
lowStock = 5; if (availableQuantity == undefined) { return ''; }
availableQuantity = Math.max(availableQuantity, 0); return availableQuantity >
lowStock ? ` ${("{stock} in stock, ready to be shipped").replace(/\{*stock*\}/,
availableQuantity)} ` : ` ${("Only {count} left!").replace(/\{*count*\}/,
availableQuantity)} `; }()}  - 
Price
${function() { const selectedVariant = data.variants.find(v => v.available) ||
data.variants[0]; return !!selectedVariant ? `
Save  ${selectedVariant.off_ratio}%
` : `
-
`; }()}
Quantity
${function() { const selectedVariant = data.variants.find(v => v.available) ||
data.variants[0]; const statusLan = ( (selectedVariant &&
!selectedVariant.available) || (!selectedVariant && !data.available)) ? "Sold
out" : "Add to cart"; const status = ( (selectedVariant &&
!selectedVariant.available) || (!selectedVariant && !data.available)) ?
'soldout' : 'available'; return ` ${statusLan}

 - 
Product is unavailable.
Product was out of stock.
Buy it now

`; }()}
${function() { const MAX_INVENTORY = 999999; const product0 =
Object.prototype.toString.call(data) == '[object Array]' ? data[0] : data; const
inventoryQty = product0.inventory_quantity; const inventoryPolicy =
product0.inventory_policy; const inventoryTracking =
product0.inventory_tracking; const exactInventoryStatusId =
"quick-shop-exact-inventory-render"; const lowStock = 5; const selectedVariant =
product0.variants.find(v => v.available) || data.variants[0]; const
selectedVariantAvailableQuantity = selectedVariant &&
selectedVariant.available_quantity; let actualInventory = inventoryQty; if
((inventoryTracking && inventoryPolicy == 'continue') || !inventoryTracking) {
actualInventory = MAX_INVENTORY; } return ` Avaliability: Out of stock in stock,
ready to be shipped Low stock `; }()}
 - ${data.eventName == 'mouseout' ? data.selectedOptions[0] : (data.targetOption
|| data.defaultValue || '')}
${function() { var thumbSwitchName = ''; return (data.product.options ||
[]).map((option, index) => { const optionName = option.name || ''; const
position = `option${index + 1}`; var isThumbImage = false; if
(data.product.need_variant_image && thumbSwitchName === '') { const variantNames
= ["color"] || []; for (let i = 0, len = variantNames.length; i < len; i++) {
const name = variantNames[i]; if (name === optionName) { isThumbImage = true;
thumbSwitchName = name; } } } const variantType = "button"; const thumbStyle =
"image_with_text"; const mouseEvent = isThumbImage ?
('quick-shop-variant-template-' + optionName + '.rerender(data=event);') : '';
return (variantType == 'dropdown' && !isThumbImage) ? `
${optionName.toLowerCase()}
${option.values.map(value => { const selected = data.selectedValues[optionName]
== value ? 'selected' : ''; return `${value}` }).join('')}

` : `
${optionName.toLowerCase()}
${option.values.map(value => { const selected = data.selectedValues[optionName]
== value ? 'selected' : ''; let thumbImage = null; if (isThumbImage) { const
variants = data.product.variants; for (let i = 0, len = variants.length; i <
len; i++) { const variant = variants[i]; if (variant[position] == value &&
thumbImage == null) { thumbImage = variant.image; break; } } } return `
${value}
`; }).join('')}
`; }).join('') }()}
${function() { const images = data.images || []; const selectedVariant =
data.variants.find(v => v.available) || data.variants[0]; const selectedIndex =
!!selectedVariant ? images.findIndex(img => img.src === (selectedVariant.image
&& selectedVariant.image.src)) : 0; const initialSlide = selectedIndex === -1 ?
0 : selectedIndex; return `
${images.map((image, index) => ` `).join('')}
${images.map(image => ` `).join('')} `; }()}


${DATA.TITLE}

Price
${function() { const selectedVariant = data.variants.find(v => v.available) ||
data.variants[0]; return !!selectedVariant ? `
Save  ${selectedVariant.off_ratio}%
` : `
-
`; }()}
Quantity
${function() { const selectedVariant = data.variants.find(v => v.available) ||
data.variants[0]; const statusLan = ( (selectedVariant &&
!selectedVariant.available) || (!selectedVariant && !data.available)) ? "Sold
out" : "Add to cart"; const status = ( (selectedVariant &&
!selectedVariant.available) || (!selectedVariant && !data.available)) ?
'soldout' : 'available'; return ` ${statusLan}

 - 
Product is unavailable.
Product was out of stock.
Buy it now

`; }()}
${function() { const MAX_INVENTORY = 999999; const product0 =
Object.prototype.toString.call(data) == '[object Array]' ? data[0] : data; const
inventoryQty = product0.inventory_quantity; const inventoryPolicy =
product0.inventory_policy; const inventoryTracking =
product0.inventory_tracking; const exactInventoryStatusId =
"quick-view-exact-inventory-render"; const lowStock = 5; const selectedVariant =
product0.variants.find(v => v.available) || data.variants[0]; const
selectedVariantAvailableQuantity = selectedVariant &&
selectedVariant.available_quantity; let actualInventory = inventoryQty; if
((inventoryTracking && inventoryPolicy == 'continue') || !inventoryTracking) {
actualInventory = MAX_INVENTORY; } return ` Avaliability: Out of stock in stock,
ready to be shipped Low stock `; }()}

 - ${data.eventName == 'mouseout' ? data.selectedOptions[0] : (data.targetOption
|| data.defaultValue || '')}
${function() { var thumbSwitchName = ''; return (data.product.options ||
[]).map((option, index) => { const optionName = option.name || ''; const
position = `option${index + 1}`; var isThumbImage = false; if
(data.product.need_variant_image && thumbSwitchName === '') { const variantNames
= ["color"] || []; for (let i = 0, len = variantNames.length; i < len; i++) {
const name = variantNames[i]; if (name === optionName) { isThumbImage = true;
thumbSwitchName = name; } } } const variantType = "button"; const thumbStyle =
"image_with_text"; const mouseEvent = isThumbImage ?
('quick-view-variant-template-' + optionName + '.rerender(data=event);') : '';
return (variantType == 'dropdown' && !isThumbImage) ? `
${optionName.toLowerCase()}
${option.values.map(value => { const selected = data.selectedValues[optionName]
== value ? 'selected' : ''; return `${value}` }).join('')}

` : `
${optionName.toLowerCase()}
${option.values.map(value => { const selected = data.selectedValues[optionName]
== value ? 'selected' : ''; let thumbImage = null; if (isThumbImage) { const
variants = data.product.variants; for (let i = 0, len = variants.length; i <
len; i++) { const variant = variants[i]; if (variant[position] == value &&
thumbImage == null) { thumbImage = variant.image; break; } } } return `
${value}
`; }).join('')}
`; }).join('') }()}
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) => { const that = this; const
checkoutButtonEle = document.getElementById("smart_cart_pop_checkout_button");
if (checkoutButtonEle) {
SPZ.whenApiDefined(checkoutButtonEle).then(function(api){ api.render({ i18n:
that.i18n_ }, false); }); } 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; 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("module_impressions", { aid: `smart_recommend.2.${rule.id}` });
} } 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 : '..'}
`; })()} ${(function(){ return `
${data.i18n.checkout}
`; })()}
GIFTS

POINTS


Original text

Rate this translation
Your feedback will be used to help improve Google Translate