www.easeeye.com Open in urlscan Pro
2606:4700::6811:f677  Public Scan

Submitted URL: http://www.easeeye.com/products/car-interior-ambient-lights-contains-4-light-bars-dd7e953cf72d-8c69-4b5d-a9ea-46d1f3b20...
Effective URL: https://www.easeeye.com/products/car-interior-ambient-lights-contains-4-light-bars-dd7e953cf72d-8c69-4b5d-a9ea-46d1f3b20...
Submission: On August 03 via api from US — Scanned from US

Form analysis 9 forms found in the DOM

<form>
  <input name="variant_id" type="hidden" value="${data.variants[0].id}">
  <button type="button" class="product-snippet__quick-shop-icon" role="addToCart" data-quick-shop="${data.handle}" data-track-product-id="${data.id}" data-track="click" data-track-content="add_to_cart" data-track-source="quick_shop">
    <svg class="" width="16" height="16" xmlns="http://www.w3.org/2000/svg">
      <path d="M8.6 1.9a.3.3 0 0 0-.3-.3h-.6a.3.3 0 0 0-.3.3v5.5H1.9a.3.3 0 0 0-.3.3v.6a.3.3 0 0 0 .3.3h5.5v5.5a.3.3 0 0 0 .3.3h.6a.3.3 0 0 0 .3-.3V8.6h5.5a.3.3 0 0 0 .3-.3v-.6a.3.3 0 0 0-.3-.3H8.6V1.9z" fill="currentColor"></path>
    </svg>
  </button>
</form>

GET /search

<form class="flex items-center" action="/search" method="get">
  <button type="submit" class="clear text-0 text-inherit cursor-pointer">
    <svg class="" width="26" height="26" xmlns="http://www.w3.org/2000/svg">
      <path fill-rule="evenodd" clip-rule="evenodd"
        d="M17.925 20.057A9.955 9.955 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10a9.968 9.968 0 0 1-2.864 7.006l4.929 4.928a.8.8 0 0 1-1.132 1.132l-5-5-.008-.01zM20.4 12a8.4 8.4 0 1 1-16.8 0 8.4 8.4 0 0 1 16.8 0z"
        fill="currentColor"></path>
    </svg>
  </button>
  <input @input-debounced="header_search_predictive_render.rerender(data=event.value, redo=true);" class="header__search_sidebar-input flex-1 text-base leading-none type-text-font-family clear" type="text" autocomplete="off" name="q"
    placeholder="Search products">
  <button type="reset" class="header__search-modal-close text-0 text-inherit clear cursor-pointer" @tap="header_search_sidebar.close()">
    <svg class="" width="26" height="26" xmlns="http://www.w3.org/2000/svg">
      <path d="M21.502 5.732A.85.85 0 0 0 20.3 4.53l-7.32 7.32L5.734 4.6a.85.85 0 0 0-1.202 1.203l7.248 7.247L4.53 20.3A.85.85 0 0 0 5.733 21.5l7.248-7.248 7.319 7.319a.85.85 0 0 0 1.202-1.202l-7.319-7.319 7.319-7.319z" fill="currentColor"></path>
    </svg>
  </button>
</form>

<form class="zb-flex zb-flex-col zb-relative zb-w-full">
  <div class="zb-overflow-y-auto zb-pb-[100px]">
    <div class="zb-flex zb-items-center zb-pb-4 zb-border-b zb-border-t-0 zb-border-l-0 zb-border-r-0 zb-border-solid zb-border-[#eee] md:zb-border-none">
      <ljs-render layout="container" class="zb-flex-shrink-0 zb-w-[66px] zb-mr-4 rtl:zb-ml-4 rtl:zb-mr-0 zb-h-[70px] md:zb-hidden" id="smart_recommend_product_image" manual="" template="smart_recommend_product_image_template"></ljs-render>
      <div class="zb-w-full">
        <div class="zb-line-clamp-2 zb-mb-2 zb-text-sm md:zb-text-base">${product.title}</div>
        <div class="zb-flex zb-justify-between zb-items-center">
          <spz-render layout="container" template="smart_recommend_price_template" id="smart_recommend_modal_price" manual="">
            <div class="zb-flex zb-items-center">
              <ljs-currency class="zb-font-semibold zb-text-[22px] zb-text-[#CD201A] zb-mr-2" layout="container" value="${product.min_price_variant.price}"></ljs-currency>
              <ljs-currency class="zb-text-[#93989D] zb-text-xs zb-line-through" layout="container" value="${product.min_price_variant.compare_at_price}"
                spz-if="${product.min_price_variant.compare_at_price > product.min_price_variant.price ? true : false}"></ljs-currency>
            </div>
          </spz-render>
          <a class="zb-flex zb-items-center zb-cursor-pointer zb-text-[#212B36] zb-no-underline" href="${product.url}?${toQuery({ aid: 'smart_recommend.' + data.show_type + '.' + data.rule_id, ifb: product.ifb || '', cfb: product.cfb || '', scm: data.scm || '', ssp: data.ssp || '' })}">
                          <span class="zb-text-[13px]">See detail</span>
                          <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"><path d="M13.1714 12.0007L8.22168 7.05093L9.63589 5.63672L15.9999 12.0007L9.63589 18.3646L8.22168 16.9504L13.1714 12.0007Z" fill="#93989D"></path></svg>
                        </a>
        </div>
      </div>
    </div>
    <ljs-variants id="smart_recommend_product_variants" layout="container" template="smart_recommend_product_variant_template" slide="smart_recommend_carousel" disabled-dj-event="" interference="">
    </ljs-variants>
    <div class="zb-text-sm zb-mb-2">Quantity</div>
    <ljs-quantity disabled-dj-event="" layout="fixed" width="150" height="52" min="1" max="999999" value="1" input-class="!zb-text-base" icon-class="!zb-p-3"></ljs-quantity>
  </div>
  <div class="zb-absolute zb-bottom-0 zb-flex md:zb-flex-col zb-w-full zb-bg-white">
    <button class="zb-flex zb-items-center zb-mr-2 rtl:zb-ml-2 rtl:zb-mr-0 md:zb-mb-2 zb-justify-center zb-cursor-pointer zb-w-full zb-border zb-border-solid zb-border-[#313131] zb-bg-white zb-rounded zb-h-[42px]" role="addToCart" type="button"
      @tap="smart_recommend_func.addATCHook(rule_id='${data.rule_id}',ifb='${product.ifb}',cfb='${product.cfb}',scm='${data.scm}',ssp='${data.ssp}',spmIndex='${data.productIndex}');">
      <span>Add To Cart</span>
    </button>
    <button class="zb-flex zb-items-center zb-justify-center zb-cursor-pointer zb-w-full zb-bg-[#292929] zb-text-white zb-rounded zb-h-[42px] zb-border-none" type="button" role="buyNow"
      @tap="smart_recommend_loading.showLoading;smart_recommend_func.addATCHook(rule_id='${data.rule_id}',ifb='${product.ifb}',cfb='${product.cfb}',scm='${data.scm}',ssp='${data.ssp}',spmIndex='${data.productIndex}');">
      <span>Buy Now</span>
    </button>
  </div>
</form>

<form role="spz-product-form921c308e-61ad-4c95-a97b-3dfad51c8fac">
  <div class="product-info-body-inner product-info-body-z-index" id="product-info-body-inner-container">
    <h1 class="product-info__header_title m-0 type-heading-font-family text-base lg:text-xl leading-1.3 lg:leading-1.2 break-words product-title-color ">Car Interior Ambient Lights- (Contains 4 light bars)</h1>
    <spz-render id="product-info-prices" layout="container" manual="" class="i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" i-spzhtml-layout="container" style="height: auto;">
      <template> ${function() { const variantData = data.variant || {"id":"3d19f6d0-713c-43d4-9bfe-d66d8db75c28","product_id":"921c308e-61ad-4c95-a97b-3dfad51c8fac","title":"ONE BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)-BUY
        1","weight_unit":"kg","inventory_quantity":1000,"sku":"Q--1","barcode":"","position":1,"option1":"ONE BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)","option2":"BUY
        1","option3":"","note":"","image":null,"wholesale_price":[{"price":24.97,"min_quantity":1}],"weight":"0","compare_at_price":"39.99","price":"24.97","retail_price":"39.99","available":true,"url":"\/products\/car-interior-ambient-lights-contains-4-light-bars-dd7e953cf72d-8c69-4b5d-a9ea-46d1f3b2096394497168-4307-4ef6-ba6d-f1ce35900584?variant=3d19f6d0-713c-43d4-9bfe-d66d8db75c28","available_quantity":999999999,"options":[{"name":"Style","value":"ONE
        BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)"},{"name":"BUY MORE SAVE MORE","value":"BUY 1"}],"off_ratio":38,"flashsale_info":[],"sales":0}; const saveType = "amount"; const saveText = "Save {{saved_amount}}"; const productLabelDiscountOn = true;
        return ` <div class="flex items-center justify-between mt-3">
          <div spz-if="${!variantData.price}" class="mr-2 text-2xl leading-1.2 font-semibold color-price flex items-center">
            <spz-currency class="mr-2 text-2xl leading-1.2 font-semibold color-price" container-class="product-info__header_price" value="${data.product.price_min}" layout="container"></spz-currency>
            <span class="flex" spz-if="${!variantData.price &amp;&amp; data.product.price_min < data.product.price_max}"> - <spz-currency class="ml-2 text-2xl leading-1.2 font-semibold color-price" container-class="product-info__header_price"
                value="${data.product.price_max}" layout="container"></spz-currency></span>
          </div>
          <div spz-else="" class="flex items-center flex-wrap">
            <spz-currency class="mr-2 text-2xl leading-1.2 font-semibold color-price" container-class="product-info__header_price" value="${variantData.price}" layout="container"></spz-currency>
            <spz-currency class="body-plus-2 leading-1.1 color-compare-price line-through mr-2" container-class="product-info__header_compare-at-price" layout="container" value="${variantData.compare_at_price}"
              spz-if="${+variantData.price < +variantData.compare_at_price}"></spz-currency>
            <div spz-if="${productLabelDiscountOn &amp;&amp; variantData.off_ratio > 0}" class="inline-block color-save-price whitespace-nowrap"> ${saveText.replace('\{\{saved_amount\}\}', saveType == 'percentage' ? variantData.off_ratio + '%' :
              `<spz-currency class="inline-block" value="${variantData.compare_at_price - variantData.price}" layout="container"></spz-currency>` )} </div>
          </div>
        </div> `; }()} </template>
      <div class="flex items-center justify-between mt-3">
        <div class="flex items-center flex-wrap" spz-else="">
          <spz-currency class="mr-2 text-2xl leading-1.2 font-semibold color-price i-spzhtml-element i-spzhtml-layout-container i-spzhtml-built i-spzhtml-layout" container-class="product-info__header_price" value="24.97" layout="container"
            i-spzhtml-layout="container">
            <div class="money product-info__header_price notranslate">$24.97</div>
          </spz-currency><spz-currency class="body-plus-2 leading-1.1 color-compare-price line-through mr-2 i-spzhtml-element i-spzhtml-layout-container i-spzhtml-built i-spzhtml-layout" container-class="product-info__header_compare-at-price"
            layout="container" value="39.99" spz-if="true" i-spzhtml-layout="container">
            <div class="money product-info__header_compare-at-price notranslate">$39.99</div>
          </spz-currency>
          <div class="inline-block color-save-price whitespace-nowrap" spz-if="true"> Save <spz-currency class="inline-block i-spzhtml-element i-spzhtml-layout-container i-spzhtml-built i-spzhtml-layout" value="15.020000000000003" layout="container"
              i-spzhtml-layout="container">
              <div class="money notranslate">$15.02</div>
            </spz-currency>
          </div>
        </div>
      </div>
    </spz-render>
    <div class="flex flex-wrap item-center justify-between color-compare-price mt-3">
    </div>
    <div class="plugin-discount-wrap empty-hidden" role="[theme-seat-for-plugin]">
      <div class="bootstrap">
        <div class="plugin__wrappers d-flex flex-column">
          <div class="plugin_modals position-relative plugin_modals-rebate" id="Modal862365" style="order: 8">
            <style>
              #Modal862365 {
                --modal_background: linear-gradient(0deg, #ebc19e, #fff3e8 100%);
                --modal_caret_background: #fff2e9;
                --modal_title_color: #B83D07;
                --modal_close_color: #FFFFFF;
                --modal_close_background_color: #F03010;
                --list_border_color: #dddddd;
              }

              @media (max-width: 767.98px) {
                #Modal862365 .coupon_plugin__coupon:last-child {
                  padding-bottom: 0;
                }
              }

              #Modal862365 .modal-footer {
                position: relative;
                margin-top: -30px;
              }

              #Modal862365 .modal-footer::before {
                content: '';
                position: absolute;
                bottom: 0;
                left: 0;
                right: 0;
                height: 150%;
                background-image: url(//img.staticdj.com/oss/operation/e8ebb03dbb710457ca3b4b6a70898ab2.svg);
                background-repeat: no-repeat;
                background-size: 100%;
                pointer-events: none;
              }

              @media (max-width: 767.98px) {
                #Modal862365 .discount-present-item:last-child {
                  padding-bottom: 40px;
                }

                #Modal862365 .plugin_modals__wrapper-list>a:last-child {
                  padding-bottom: 14px;
                }
              }
            </style>
            <!-- 入口 -->
            <div class="plugin_modals__list" data-toggle="modal" data-target="#target_Modal862365" impr="1" imprevt="1" imprsd="true">
              <div class="plugin_modals__list-name">
                <style>
                  a.product_detail_rebate_list {
                    display: inline-flex;
                    gap: 4px;
                    align-items: start;
                    color: #EB391B;
                  }

                  a.product_detail_rebate_list:hover {
                    color: #EB391B;
                  }

                  a.product_detail_rebate_list .money {
                    white-space: nowrap;
                  }

                  .plugin_modals__modal .rebate-icon {
                    display: none;
                  }

                  .rebate-icon {
                    padding-top: 4px;
                  }
                </style>
                <a class="product_detail_rebate_list" impr="1" imprevt="1" href="/promotions/rebate/04f491bd-fcb5-47e0-a692-8edd3bd4135a" imprsd="true">
    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="24" fill="none" class="rebate-icon">
      <g clip-path="url(#a)">
        <path fill="#EB391B" fill-rule="evenodd" d="M9.127 1.275a1.576 1.576 0 0 0-2.255 0l-.693.709a1.576 1.576 0 0 1-1.146.475l-.991-.012a1.576 1.576 0 0 0-1.595 1.595l.011.991a1.576 1.576 0 0 1-.475 1.146l-.708.693a1.576 1.576 0 0 0 0 2.255l.709.693c.308.3.48.716.475 1.146l-.012.992a1.576 1.576 0 0 0 1.595 1.594l.991-.011a1.577 1.577 0 0 1 1.146.475l.693.709a1.575 1.575 0 0 0 2.255 0l.693-.71a1.576 1.576 0 0 1 1.146-.475l.992.012a1.575 1.575 0 0 0 1.594-1.594l-.011-.992a1.577 1.577 0 0 1 .475-1.146l.709-.693a1.575 1.575 0 0 0 0-2.255l-.71-.693a1.576 1.576 0 0 1-.475-1.146l.012-.991a1.576 1.576 0 0 0-1.594-1.595l-.992.011a1.576 1.576 0 0 1-1.146-.475l-.693-.708ZM5.84 6.92a1.08 1.08 0 1 0 0-2.16 1.08 1.08 0 0 0 0 2.16Zm4.32 4.32a1.08 1.08 0 1 0 0-2.161 1.08 1.08 0 0 0 0 2.16Zm.56-5.96a.793.793 0 0 1 0 1.12L6.4 10.72A.792.792 0 0 1 5.28 9.6L9.6 5.28a.792.792 0 0 1 1.12 0Z" clip-rule="evenodd"></path>
      </g>
      <defs>
        <clipPath id="a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath>
      </defs>
    </svg>
    <div style="flex: 1;word-break: break-word">
      
        <li id="pdr__rule" class="pdr__rule">
          <b>10%</b> OFF 2nd item
        </li>
      
        <li id="pdr__rule" class="pdr__rule">
          <b>15%</b> OFF 3rd item
        </li>
      
        <li id="pdr__rule" class="pdr__rule">
          <b>20%</b> OFF 4th item
        </li>
      
    </div>
  </a>
              </div>
              <div class="plugin_modals__list-labels text-right"></div>
            </div>
          </div>
        </div>
      </div>
    </div>
    <spz-variants class="product-info__variants flex flex-col items-start i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" layout="container" id="product-info-variants" src="script:product-json" switch-slide="[]"
      slide="product-main-images;" manual="" interference="" select-soldout-suffix=" - Sold out" interact="hover" inherit-url-variant=""
      @mouseout="product-info-selected-variant-Style.rerender(data=event);product-info-selected-variant-BUY-MORE-SAVE-MORE.rerender(data=event);" @stylemouseover="product-info-selected-variant-Style.rerender(data=event);"
      @buy-more-save-moremouseover="product-info-selected-variant-BUY-MORE-SAVE-MORE.rerender(data=event);" i-spzhtml-layout="container">
      <fieldset class="product-info__variants_content mt-6 lg:mt-8 mx-0" name="Style">
        <legend class="w-full">
          <span class="lg:body-plus-2 leading-1.3 product-info__variants_title">Style</span>
          <spz-render class="inline-block opacity-60 i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" id="product-info-selected-variant-Style" layout="container" manual="" i-spzhtml-layout="container"
            style="height: 18px;">
            <template> ${function(){ const optName = "Style"; const optionValue = data.originData.selectData ? data.originData.selectData[optName].value : data.originData.value; const optionValueText = optionValue ? (': ' + optionValue) : ''; return
              ` <span> ${optionValueText} </span> ` }()} </template>
            <span> : ONE BOX (4 LIGHT STRIPS WITH REMOTE CONTROL) </span></spz-render>
        </legend>
        <div class="flex flex-wrap  mt-1   product-info-variant-container ">
          <div class="relative mt-3 mr-3">
            <input type="radio" option="ONE BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)" id="product-info-variant-ONE BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)-0" class="pointer-events-auto" name="product-info-variant-Style"
              value="ONE BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)" form="product-info-body" @input-debounced="product-info-selected-variant-style.rerender(data=event);" checked="">
            <label class="product-info-variant-option relative flex items-center break-words flex-shrink-0 overflow-hidden 
    
      rounded-[1px]
    
  " data-type="text">
              <span class="break-words py-3 px-4 text-center">ONE BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)</span>
            </label>
          </div>
        </div>
      </fieldset>
      <spz-render id="Style-error-tip" manual="" layout="container" class="i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" i-spzhtml-layout="container">
        <template> ${function(){ const tipText = "Please select a {{ name }}".replace(/\{\{\s+name\s+\}\}/g, data); return `<div class="product-info__variants-tips font-bold">${tipText}</div>` }()} </template>
      </spz-render>
      <fieldset class="product-info__variants_content mt-6 lg:mt-8 mx-0" name="BUY MORE SAVE MORE">
        <legend class="w-full">
          <span class="lg:body-plus-2 leading-1.3 product-info__variants_title">Buy More Save More</span>
          <spz-render class="inline-block opacity-60 i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" id="product-info-selected-variant-BUY-MORE-SAVE-MORE" layout="container" manual="" i-spzhtml-layout="container"
            style="height: 18px;">
            <template> ${function(){ const optName = "BUY MORE SAVE MORE"; const optionValue = data.originData.selectData ? data.originData.selectData[optName].value : data.originData.value; const optionValueText = optionValue ? (': ' + optionValue)
              : ''; return ` <span> ${optionValueText} </span> ` }()} </template>
            <span> : BUY 1 </span></spz-render>
        </legend>
        <div class="flex flex-wrap  mt-1   product-info-variant-container ">
          <div class="relative mt-3 mr-3">
            <input type="radio" option="BUY 1" id="product-info-variant-BUY 1-0" class="pointer-events-auto" name="product-info-variant-BUY MORE SAVE MORE" value="BUY 1" form="product-info-body"
              @input-debounced="product-info-selected-variant-buy-more-save-more.rerender(data=event);" checked="">
            <label class="product-info-variant-option relative flex items-center break-words flex-shrink-0 overflow-hidden 
    
      rounded-[1px]
    
  " data-type="text">
              <span class="break-words py-3 px-4 text-center">BUY 1</span>
            </label>
          </div>
          <div class="relative mt-3 mr-3">
            <input type="radio" option="BUY 2 (SAVES $10) Most Recommend" id="product-info-variant-BUY 2 (SAVES $10) Most Recommend-1" class="pointer-events-auto" name="product-info-variant-BUY MORE SAVE MORE" value="BUY 2 (SAVES $10) Most Recommend"
              form="product-info-body" @input-debounced="product-info-selected-variant-buy-more-save-more.rerender(data=event);">
            <label class="product-info-variant-option relative flex items-center break-words flex-shrink-0 overflow-hidden 
    
      rounded-[1px]
    
  " data-type="text">
              <span class="break-words py-3 px-4 text-center">BUY 2 (SAVES $10) Most Recommend</span>
            </label>
          </div>
          <div class="relative mt-3 mr-3">
            <input type="radio" option="BUY 4  FREE SHIPPING" id="product-info-variant-BUY 4  FREE SHIPPING-2" class="pointer-events-auto" name="product-info-variant-BUY MORE SAVE MORE" value="BUY 4  FREE SHIPPING" form="product-info-body"
              @input-debounced="product-info-selected-variant-buy-more-save-more.rerender(data=event);">
            <label class="product-info-variant-option relative flex items-center break-words flex-shrink-0 overflow-hidden 
    
      rounded-[1px]
    
  " data-type="text">
              <span class="break-words py-3 px-4 text-center">BUY 4 FREE SHIPPING</span>
            </label>
          </div>
        </div>
      </fieldset>
      <spz-render id="BUY-MORE-SAVE-MORE-error-tip" manual="" layout="container" class="i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" i-spzhtml-layout="container">
        <template> ${function(){ const tipText = "Please select a {{ name }}".replace(/\{\{\s+name\s+\}\}/g, data); return `<div class="product-info__variants-tips font-bold">${tipText}</div>` }()} </template>
      </spz-render>
    </spz-variants>
    <div class="mt-5 lg:mt-6">
      <div class="lg:body-plus-2 leading-1.3">Quantity</div>
      <spz-quantity class="product-info-qty mt-3 i-spzhtml-layout-fixed-height i-spzhtml-layout-size-defined i-spzhtml-element i-spzhtml-built i-spzhtml-layout" id="product-info-quantity" name="quantity" value="1" min="1" max="999999999"
        icon-class="product-info-qty-btn clear flex items-center justify-center flex-shrink-0" input-class="product-info-qty-input clear flex-shrink-0 body-plus-2 text-center" height="40" layout="fixed-height" style="height:40px;"
        i-spzhtml-layout="fixed-height">
        <div class="i-spzhtml-fill-content i-spzhtml-replaced-content"><span role="button" aria-label="decrease" class="i-spzhtml-quantity-number-decrease product-info-qty-btn clear flex items-center justify-center flex-shrink-0" disabled=""><svg
              role="decrease" class="" width="16" height="16" xmlns="http://www.w3.org/2000/svg">
              <path d="M13.7 7.4a.3.3 0 0 1 .3.3v.6a.3.3 0 0 1-.3.3H2.3a.3.3 0 0 1-.3-.3v-.6a.3.3 0 0 1 .3-.3h11.4z" fill="currentColor"></path>
            </svg></span><input type="number" name="quantity" min="1" max="999999999" class="i-spzhtml-quantity-number-input product-info-qty-input clear flex-shrink-0 body-plus-2 text-center" aria-label="quantity"><span role="button"
            aria-label="increase" class="i-spzhtml-quantity-number-increase product-info-qty-btn clear flex items-center justify-center flex-shrink-0"><svg role="increase" class="" width="16" height="16" xmlns="http://www.w3.org/2000/svg">
              <path d="M8.3 14a.3.3 0 0 0 .3-.3V8.6h5.1a.3.3 0 0 0 .3-.3v-.6a.3.3 0 0 0-.3-.3H8.6V2.3a.3.3 0 0 0-.3-.3h-.6a.3.3 0 0 0-.3.3v5.1H2.3a.3.3 0 0 0-.3.3v.6a.3.3 0 0 0 .3.3h5.1v5.1a.3.3 0 0 0 .3.3h.6z" fill="currentColor"></path>
            </svg></span></div>
      </spz-quantity>
    </div>
    <div class="my-6">
      <div class="product-info__sale-item flex items-center">
        <svg class="flex-shrink-0" width="20" height="20" xmlns="http://www.w3.org/2000/svg">
          <path
            d="M17.14 13.65h-3.457c.327-1.022.517-2.081.568-3.164h3.751a7.954 7.954 0 0 1-.862 3.165zm-5.784 4.259a13.405 13.405 0 0 0 1.968-3.285h3.226a8.038 8.038 0 0 1-5.194 3.285zM3.45 14.624h3.227a13.407 13.407 0 0 0 1.968 3.285 8.039 8.039 0 0 1-5.195-3.285zm-1.451-4.138h3.751c.051 1.083.24 2.142.568 3.165H2.86a7.97 7.97 0 0 1-.862-3.165zM2.86 6.35h3.457a12.244 12.244 0 0 0-.568 3.164H1.998A7.97 7.97 0 0 1 2.86 6.35zm5.784-4.258a13.416 13.416 0 0 0-1.968 3.285H3.449a8.04 8.04 0 0 1 5.195-3.285zm7.906 3.285h-3.226a13.414 13.414 0 0 0-1.968-3.285 8.04 8.04 0 0 1 5.194 3.285zm-4.3 0h-4.5A12.805 12.805 0 0 1 10 2.007a12.807 12.807 0 0 1 2.25 3.37zM6.734 9.513C6.79 8.43 7 7.37 7.358 6.35h5.284c.359 1.02.568 2.08.624 3.164H6.734zm.624 4.138a11.26 11.26 0 0 1-.624-3.165h6.532a11.26 11.26 0 0 1-.624 3.165H7.358zm.392.973h4.5A12.799 12.799 0 0 1 10 17.992a12.797 12.797 0 0 1-2.25-3.368zm10.252-5.11h-3.75a12.265 12.265 0 0 0-.569-3.165h3.457c.493.96.794 2.03.862 3.164zM1 10c0 4.963 4.037 9 9 9s9-4.037 9-9-4.037-9-9-9-9 4.037-9 9z"
            fill="currentColor"></path>
        </svg>
        <div class="product-info__sales_points-item break-words flex-1 body-minus-1 pl-3">Worldwide delivery</div>
      </div>
      <div class="product-info__sale-item flex items-center">
        <svg class="flex-shrink-0" width="20" height="20" xmlns="http://www.w3.org/2000/svg">
          <path
            d="M18.41 14.672a1.811 1.811 0 0 0-1.743-1.359c-.834 0-1.538.578-1.743 1.359H13.81v-4.366h5.238v4.366h-.638zm-1.743 1.552a1.04 1.04 0 0 1-.929-.582 1.042 1.042 0 0 1 0-.97 1.04 1.04 0 0 1 .929-.582c.404 0 .757.237.928.582a1.042 1.042 0 0 1 0 .97 1.04 1.04 0 0 1-.928.582zm-3.81-1.552h-5.4a1.811 1.811 0 0 0-1.743-1.359c-.833 0-1.538.578-1.743 1.359H.952V4.97h11.905v9.702zm-7.143 1.552a1.04 1.04 0 0 1-.928-.582 1.042 1.042 0 0 1 0-.97 1.04 1.04 0 0 1 .928-.582c.405 0 .757.237.929.582a1.042 1.042 0 0 1 0 .97 1.04 1.04 0 0 1-.929.582zM16.9 6.91l1.699 2.426h-4.79V6.91H16.9zm.486-.97H13.81V4H0v11.642h3.971c.205.78.91 1.358 1.743 1.358.834 0 1.538-.577 1.743-1.358H14.924c.205.78.91 1.358 1.743 1.358.833 0 1.538-.577 1.743-1.358H20V9.666L17.386 5.94z"
            fill="currentColor"></path>
        </svg>
        <div class="product-info__sales_points-item break-words flex-1 body-minus-1 pl-3">Return guarantee</div>
      </div>
      <div class="product-info__sale-item flex items-center">
        <svg class="flex-shrink-0" width="20" height="20" xmlns="http://www.w3.org/2000/svg">
          <path
            d="m16.185 9.248-4.237-.92 4.46-4.46c.345 1.804.26 3.646-.223 5.38m-3.019 5.18-.092.091c-2.54 2.484-5.592 1.881-7.533.216l5.592-5.591 4.749 1.03a11.784 11.784 0 0 1-2.716 4.253m-8.094-7.91.092-.093a11.775 11.775 0 0 1 4.252-2.717l1.031 4.751-5.591 5.591c-1.666-1.94-2.268-4.993.216-7.532m8.45-3.548a11.7 11.7 0 0 1 2.202.212l-4.462 4.462-.919-4.235a11.829 11.829 0 0 1 3.18-.439m3.634-.193-.072-.27-.27-.073A12.802 12.802 0 0 0 4.477 5.74l-.099.099c-2.094 2.14-2.985 5.782-.205 8.894L2 16.905l.686.686 2.17-2.171c1.383 1.235 2.869 1.752 4.283 1.752 1.769 0 3.424-.796 4.614-1.96l.1-.1a12.802 12.802 0 0 0 3.304-12.336"
            fill="currentColor"></path>
        </svg>
        <div class="product-info__sales_points-item break-words flex-1 body-minus-1 pl-3">Sustainably made</div>
      </div>
      <div class="product-info__sale-item flex items-center">
        <svg class="flex-shrink-0" width="20" height="20" xmlns="http://www.w3.org/2000/svg">
          <path
            d="M9.5 1c2.757 0 5 2.243 5 5v.813H18v12.34H1V6.814h3.5V6c0-2.757 2.243-5 5-5zM17 7.813H2v10.34h15V7.814zM9.5 10.5a1.25 1.25 0 0 1 .5 2.394v2.318H9v-2.318a1.25 1.25 0 0 1 .5-2.394zm0-8.5c-2.205 0-4 1.794-4 4v.813h8V6c0-2.206-1.794-4-4-4z"
            fill="currentColor"></path>
        </svg>
        <div class="product-info__sales_points-item break-words flex-1 body-minus-1 pl-3">Secure payments</div>
      </div>
    </div>
    <div class="mt-5 lg:mt-6">
      <button class="relative button-primary flex items-center justify-center body-plus-2  type-text-font-family rounded-btn product-info_atc_btn" type="button" role="addToCart" data-track="click" data-track-content="add_to_cart"
        data-track-source="add_to_cart">
        <span role="content">Add to cart</span>
        <spz-render id="product-info-btn-price" layout="container" template="product-info-btn-price-template" manual="" class="i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" i-spzhtml-layout="container"
          style="height: auto;">
          <div class="flex"><span class="product_price_before"></span><spz-currency value="24.97" layout="container" class="i-spzhtml-element i-spzhtml-layout-container i-spzhtml-built i-spzhtml-layout" i-spzhtml-layout="container">
              <div class="money notranslate">$24.97</div>
            </spz-currency></div>
        </spz-render>
        <style>
          .product_price_before::before {
            content: ' - ';
            display: block;
            width: 20px;
          }
        </style>
        <template id="product-info-btn-price-template"> ${function(){ const wholesale_enabled = false; const qty = data.quantity || 1; const currentSelectVariant = data.variant; const defaultVariant = (data.product &amp;&amp; data.product.variants
          &amp;&amp; data.product.variants[0]); const productVariant = {"id":"3d19f6d0-713c-43d4-9bfe-d66d8db75c28","product_id":"921c308e-61ad-4c95-a97b-3dfad51c8fac","title":"ONE BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)-BUY
          1","weight_unit":"kg","inventory_quantity":1000,"sku":"Q--1","barcode":"","position":1,"option1":"ONE BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)","option2":"BUY
          1","option3":"","note":"","image":null,"wholesale_price":[{"price":24.97,"min_quantity":1}],"weight":"0","compare_at_price":"39.99","price":"24.97","retail_price":"39.99","available":true,"url":"\/products\/car-interior-ambient-lights-contains-4-light-bars-dd7e953cf72d-8c69-4b5d-a9ea-46d1f3b2096394497168-4307-4ef6-ba6d-f1ce35900584?variant=3d19f6d0-713c-43d4-9bfe-d66d8db75c28","available_quantity":999999999,"options":[{"name":"Style","value":"ONE
          BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)"},{"name":"BUY MORE SAVE MORE","value":"BUY 1"}],"off_ratio":38,"flashsale_info":[],"sales":0}; const variantData = currentSelectVariant || defaultVariant || productVariant; const wholesale_price =
          variantData.wholesale_price || []; if(wholesale_enabled &amp;&amp; wholesale_price.length &gt; 0) { let wholesaleIndex = wholesale_price.findIndex(item =&gt; { return item.min_quantity &gt; qty; }); if(wholesaleIndex &lt; 0){ wholesaleIndex
          = wholesale_price.length - 1; }else if(wholesaleIndex &gt; 0){ wholesaleIndex = wholesaleIndex - 1; } const wholesalePrice = wholesale_price[wholesaleIndex] || ''; return ` <div class="flex">
            <span class="product_price_before"></span><spz-currency value="${wholesalePrice.price}" layout="container"></spz-currency>
          </div> ` }else { const price = variantData &amp;&amp; variantData.price; return price != undefined ? `<div class="flex"><span class="product_price_before"></span><spz-currency value="${price}" layout="container"></spz-currency></div>` :
          '<span></span>'; } }()} </template>
        <div class="loading items-center justify-center absolute inset-0 flex" role="loading" show="">
          <div class="loading-bounce"></div>
        </div>
      </button>
      <button class="relative button-secondary w-full rounded-btn mt-3 product-info_atc_btn product-info_buy_now_btn" role="buyNow" type="button" data-track="click" data-track-content="checkout" data-track-source="buy_now">
        <span role="content">Buy now</span>
        <div class="loading items-center justify-center absolute inset-0 flex" role="loading" show="">
          <div class="loading-bounce"></div>
        </div>
      </button>
      <div class="product-info__out_stock mt-2 text-center text-sm leading-1.3 opacity-70 lg:mt-3 hidden"> Product was out of stock. </div>
      <div class="product-info__unavailable mt-2 text-center text-sm leading-1.3 opacity-70 lg:mt-3 hidden"> Product is unavailable. </div>
    </div>
    <spz-render layout="container" id="product-detail-featured" manual="" class="i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" i-spzhtml-layout="container">
      <template> ${function(){ const variantData = data.variant || {"id":"3d19f6d0-713c-43d4-9bfe-d66d8db75c28","product_id":"921c308e-61ad-4c95-a97b-3dfad51c8fac","title":"ONE BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)-BUY
        1","weight_unit":"kg","inventory_quantity":1000,"sku":"Q--1","barcode":"","position":1,"option1":"ONE BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)","option2":"BUY
        1","option3":"","note":"","image":null,"wholesale_price":[{"price":24.97,"min_quantity":1}],"weight":"0","compare_at_price":"39.99","price":"24.97","retail_price":"39.99","available":true,"url":"\/products\/car-interior-ambient-lights-contains-4-light-bars-dd7e953cf72d-8c69-4b5d-a9ea-46d1f3b2096394497168-4307-4ef6-ba6d-f1ce35900584?variant=3d19f6d0-713c-43d4-9bfe-d66d8db75c28","available_quantity":999999999,"options":[{"name":"Style","value":"ONE
        BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)"},{"name":"BUY MORE SAVE MORE","value":"BUY 1"}],"off_ratio":38,"flashsale_info":[],"sales":0}; return ` <div class="mt-5 body-minus-2">
          <div spz-if="${variantData &amp;&amp; +variantData.weight > 0}" class="product-detail-featured-item"> Weight : <span>${variantData &amp;&amp; variantData.weight}${variantData &amp;&amp; variantData.weight_unit}</span>
          </div>
          <div spz-if="${!!(variantData &amp;&amp; variantData.barcode)}" class="product-detail-featured-item"> Barcode : <span>${variantData &amp;&amp; variantData.barcode}</span>
          </div>
        </div> ` }()} </template>
      <div class="mt-5 body-minus-2">
      </div>
    </spz-render>
    <div class="product-info__current-viewer flex items-center mt-6 lg:mt-8">
      <svg class="flex-shrink-0" width="24" height="24" xmlns="http://www.w3.org/2000/svg">
        <path fill-rule="evenodd" clip-rule="evenodd"
          d="M12.052 6.4h-.002c-4.31 0-7.95 2.395-9.107 5.675a.377.377 0 0 0 0 .25C4.1 15.605 7.739 18 12.05 18c4.337 0 7.996-2.425 9.128-5.737a.194.194 0 0 0 0-.126c-1.132-3.311-4.79-5.736-9.126-5.737zm-8.026 5.947a.372.372 0 0 1 0-.293c.782-1.831 2.517-3.366 4.782-4.13a4.218 4.218 0 1 0 6.494.004c2.26.765 3.99 2.298 4.772 4.126.04.093.04.199 0 .293-1.125 2.631-4.22 4.651-8.024 4.651-3.806 0-6.9-2.02-8.024-4.652zm7.918-4.945a1.582 1.582 0 1 1-3.052.493 10.126 10.126 0 0 1 3.052-.493z"
          fill="currentColor"></path>
      </svg>
      <span class="current__viewer-text ml-2 break-all body-plus-2">
        <spz-rng class="inline-block i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" layout="container" max="80" min="10" change-range="5" interval-seconds="3" i-spzhtml-layout="container"><span>23</span></spz-rng>
        people are viewing this right now</span>
    </div>
    <div class="product-info__social-sharing mt-8 notranslate">
      <div class="text-xs leading-[1.7] ">Share the love</div>
      <div class="product-info__social-sharing-wrapper flex items-center">
        <a target="_blank" data-track="social_share" href="//www.facebook.com/sharer.php?u=https://www.easeeye.com/products/car-interior-ambient-lights-contains-4-light-bars-dd7e953cf72d-8c69-4b5d-a9ea-46d1f3b2096394497168-4307-4ef6-ba6d-f1ce35900584" class="text-current no-underline flex justify-center items-center dj_skin_text share-facebook ">
      <svg class="" width="24" height="24" xmlns="http://www.w3.org/2000/svg"><path d="M17.268 6.005h-1.917c-1.503 0-1.794.714-1.794 1.764v2.313h3.588l-.468 3.621h-3.12V23H9.816v-9.294H6.687v-3.624h3.129v-2.67c0-3.099 1.893-4.788 4.659-4.788 1.326 0 2.463.099 2.796.144v3.237h-.003z" fill="currentColor"></path></svg>
    </a>
        <a target="_blank" data-track="social_share" href="//twitter.com/share?text=Car%20Interior%20Ambient%20Lights-%20%28Contains%204%20light%20bars%29&amp;url=https://www.easeeye.com/products/car-interior-ambient-lights-contains-4-light-bars-dd7e953cf72d-8c69-4b5d-a9ea-46d1f3b2096394497168-4307-4ef6-ba6d-f1ce35900584" class="text-current no-underline flex justify-center items-center dj_skin_text share-twitter">
      <svg class="" width="24" height="24" xmlns="http://www.w3.org/2000/svg"><path d="M21.072 8.24c0 7.929-5.146 13.637-12.715 13.888-3.201.25-5.394-.734-7.357-2.22 2.193.251 5.146-.483 6.596-1.986-2.192 0-3.43-1.252-4.155-2.952h1.963c-1.963-.752-3.449-2.237-3.449-4.707.477.25.973.483 1.963.483C2.203 9.762 1.23 6.541 2.45 4.554c2.193 2.47 4.881 4.707 9.32 4.94-1.238-4.94 5.146-7.445 7.835-4.206 1.237-.25 1.962-.734 2.918-1.253-.248 1.253-.973 1.987-1.963 2.47.972 0 1.715-.25 2.44-.734-.23.985-1.203 1.987-1.928 2.47z" fill="currentColor"></path></svg>
    </a>
        <a target="_blank" data-track="social_share" href="//pinterest.com/pin/create/button/?url=https://www.easeeye.com/products/car-interior-ambient-lights-contains-4-light-bars-dd7e953cf72d-8c69-4b5d-a9ea-46d1f3b2096394497168-4307-4ef6-ba6d-f1ce35900584&amp;media=//img.staticdj.com/80ef0fa651ac221891c60059cc959ff6_1024x1024.jpeg&amp;description=Car%20Interior%20Ambient%20Lights-%20%28Contains%204%20light%20bars%29" class="text-current no-underline flex justify-center items-center dj_skin_text share-pinterest">
      <svg class="" width="24" height="24" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M13.5 17.971a3.409 3.409 0 0 1-2.88-1.415l-.783 2.923c-.373 1.14-.9 2.226-1.565 3.23-.055.164-.513.491-.513.491a2.166 2.166 0 0 1-.308-.816 11.62 11.62 0 0 1 .043-3.53c.228-.961 1.468-6.114 1.468-6.114a4.393 4.393 0 0 1-.374-1.828c0-1.709 1.01-2.989 2.264-2.989.869-.012 1.584.669 1.597 1.523.002.07-.002.14-.01.21a24.3 24.3 0 0 1-1.037 4.098c-.246.956.343 1.927 1.316 2.169.174.043.354.061.532.052 2.225 0 3.937-2.304 3.937-5.632.082-2.68-2.062-4.918-4.79-5a4.645 4.645 0 0 0-.447.006c-2.99-.125-5.519 2.155-5.646 5.093a4.734 4.734 0 0 0 .92 3.057c.089.095.122.228.089.353-.095.386-.309 1.232-.35 1.4-.056.232-.179.279-.42.17a5.476 5.476 0 0 1-2.54-4.769c0-3.877 2.87-7.444 8.274-7.444 4.055-.2 7.509 2.867 7.714 6.851.005.088.008.175.009.262.012 4.234-2.71 7.65-6.5 7.65z" fill="currentColor"></path></svg>
    </a>
      </div>
    </div>
  </div>
  <div class="plugin__buy_on_others empty-hidden"></div>
  <input name="product_id" type="hidden" value="921c308e-61ad-4c95-a97b-3dfad51c8fac"><input name="variant_id" type="hidden" value="3d19f6d0-713c-43d4-9bfe-d66d8db75c28"><input name="note" type="hidden">
</form>

POST

<form id="footer__newsletter__form" class="footer__newsletter__form type-text-font-family relative flex items-center md:w-full text-base" action-xhr="/api/customers/newsletters" method="POST" custom-validation="show-first-on-submit"
  @submiterror="footer__newsletter__error-ajax.rerender(data=event);footer__newsletter__error-ajax.toggleClass(class='hidden', force=false);">
  <input class="footer__newsletter__input clear flex-1 block lg:w-full px-4 lg:px-3" id="footer__newsletter__input" type="text" name="email" placeholder="Enter your email" required="" pattern="([A-Za-z0-9_\-.])+@([A-Za-z0-9_\-.])+\.([A-Za-z]{2,4})"
    @input-debounced="footer__newsletter__error-ajax.toggleClass(class='hidden', force=true);">
  <button class="footer__newsletter__btn type-text-font-family m-0 flex items-center border-none leading-none" type="submit">
    <span class="md:hidden">Subscribe</span>
    <svg class="lg:hidden" width="20" height="6" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
      <path opacity=".01" fill="currentColor" d="M0 0h20v6H0z"></path>
      <path fill="currentColor" d="M0 2h14v2H0z"></path>
      <path fill-rule="evenodd" clip-rule="evenodd" d="m20 3-6 3V0l6 3Z" fill="currentColor"></path>
    </svg>
  </button>
  <div class="footer__newsletter__error-tip" validation-for="footer__newsletter__input" visible-when-invalid="patternMismatch" hidden=""> Please enter a valid email address. </div>
  <div class="footer__newsletter__error-tip" validation-for="footer__newsletter__input" visible-when-invalid="valueMissing" hidden=""> Please enter your email address. </div>
  <spz-render id="footer__newsletter__error-ajax" class="footer__newsletter__error-tip hidden i-spzhtml-layout-container i-spzhtml-element i-spzhtml-notbuilt spz-notbuilt spz-unresolved i-spzhtml-unresolved" layout="container" manual=""
    i-spzhtml-layout="container">
    <template>
      <div spz-if="${data.errors &amp;&amp; data.errors.length > 0}"> ${data.errors &amp;&amp; data.errors[0]} </div>
    </template>
  </spz-render>
  <div class="footer__newsletter__success-tip flex-shrink-0 body-plus-2"> Thanks for subscribing </div>
</form>

<form>
  <div class="quick-shop-content rounded-global-small">
    <div class="quick-shop-inner-content">
      <spz-variants name="quick-shop-variant" id="quick-shop-variants" class="pointer-events-none" layout="container" template="quick-shop-variant-template" spz-if="${product_options &amp;&amp; product_options.length > 0}"
        @mouseout="${mouse_out_event}" interact="hover" interference="" ${mouse_over_event}=""></spz-variants>
      <button class="relative mt-5 lg:mt-6 button-primary flex items-center justify-center body-plus-2  type-text-font-family rounded-btn quick-shop_atc_btn" type="button" role="addToCart" data-track="click" data-track-content="add_to_cart"
        data-track-source="add_to_cart">
        <span role="content">${statusLan}</span>
        <spz-render id="quick-shop-btn-price" layout="container" template="quick-shop-button-price-template" manual=""></spz-render>
        <div class="loading items-center justify-center absolute inset-0" role="loading" show="">
          <div class="loading-bounce"></div>
        </div>
      </button>
    </div>
  </div>
</form>

<form>
  <div class="quick-shop-content rounded-global-small">
    <div class="quick-shop-inner-content">
      <spz-variants name="quick-shop-variant" id="quick-shop-variants" class="pointer-events-none" layout="container" template="quick-shop-variant-template" spz-if="${product_options &amp;&amp; product_options.length > 0}"
        @mouseout="${mouse_out_event}" interact="hover" interference="" ${mouse_over_event}=""></spz-variants>
      <button class="relative mt-5 lg:mt-6 button-primary flex items-center justify-center body-plus-2  type-text-font-family rounded-btn quick-shop_atc_btn" type="button" role="addToCart" data-track="click" data-track-content="add_to_cart"
        data-track-source="add_to_cart">
        <span role="content">${statusLan}</span>
        <spz-render id="quick-shop-btn-price" layout="container" template="quick-shop-button-price-template" manual=""></spz-render>
        <div class="loading items-center justify-center absolute inset-0" role="loading" show="">
          <div class="loading-bounce"></div>
        </div>
      </button>
    </div>
  </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

${(function(){ const get_random_six_digits = () => { return
Math.random().toString().slice(-6) }; const wholesale_enabled = false; const
setting_product_image_display = "133.33%"; const product_image = data.image;
const secondary_image = data.secondImage; const image_width =
product_image.width; let image_height = product_image.height;
if(setting_product_image_display == '100%'){ image_height = image_width }else
if(setting_product_image_display == '133.33%'){ image_height = image_width *
1.3333; }; const product_image_hover_on = true && !!secondary_image.src; const
has_save_label = true && ((+data.compare_at_price) > (+data.price)); const
is_single_variant = data.variants.length == 1; const min_price_variant_href =
(data.min_price_variant && data.min_price_variant.available) ?
data.min_price_variant.withinUrl : data.withinUrl; const retail_price_max =
data.retail_price_max || data.compare_at_price_max; const THUMBNAILS_MAX_SIZE =
3; const thumbnails = data.thumbVariants.slice(0, THUMBNAILS_MAX_SIZE); const
image_wrap_id = 'image_wrap_' + get_random_six_digits(); const image_carousel_id
= 'image_carousel_' + get_random_six_digits(); const thumbnails_selector_id =
'thumbnails_selector_' + get_random_six_digits(); const form_id = 'form_' +
get_random_six_digits(); const mixed_wholesale = data.mixed_wholesale; return `

${ data.available ? `${ (+data.compare_at_price > +data.price) ? `Save ` : '' }`
: "Sold out" }
Mixed Lot


${DATA.TITLE}

${ data.price_min != data.price_max ? `From ` : ` ` }
+${data.remainInvisibleThumbCount} ` })()}

Free shipping on international order of $69.99




Free shipping on international order of $69.99


Powered by Translate
Bahasa
Indonesia,English,한국어,日本語,Português,العربية,Русский,Español,Français,ไทย,Italiano,Deutsch,Polski,Nederlands,Bahasa
Melayu,svenska,norsk,čeština,Lietuvis,Latvietis,Suomalainen,Ελληνικά,Eestlane,dansk,Magyar,Romanian,Slovenščina,Український,Slovenská,Български,Tiếng
Việt,Türkçe,Hrvatski jezik
USD
 * United States Dollars (USD)
 * Euro (EUR)
 * United Kingdom Pounds (GBP)
 * Canadian Dollars (CAD)
 * Afghan Afghani (AFN)
 * Albanian Lek (ALL)
 * Algerian Dinar (DZD)
 * Angolan Kwanza (AOA)
 * Argentine Pesos (ARS)
 * Armenian Dram (AMD)
 * Aruban Florin (AWG)
 * Australian Dollars (AUD)
 * Barbadian Dollar (BBD)
 * Azerbaijani Manat (AZN)
 * Bangladesh Taka (BDT)
 * Bahamian Dollar (BSD)
 * Bahraini Dinar (BHD)
 * Belarusian Ruble (BYN)
 * Belize Dollar (BZD)
 * Bhutanese Ngultrum (BTN)
 * Bosnia and Herzegovina Convertible Mark (BAM)
 * Brazilian Real (BRL)
 * Bolivian Boliviano (BOB)
 * Botswana Pula (BWP)
 * Brunei Dollar (BND)
 * Bulgarian Lev (BGN)
 * Burmese Kyat (MMK)
 * Cambodian Riel (KHR)
 * Cape Verdean escudo (CVE)
 * Cayman Dollars (KYD)
 * Central African CFA Franc (XAF)
 * Chilean Peso (CLP)
 * Chinese Yuan Renminbi (CNY)
 * Colombian Peso (COP)
 * Comorian Franc (KMF)
 * Congolese franc (CDF)
 * Costa Rican Colones (CRC)
 * Croatian Kuna (HRK)
 * Czech Koruny (CZK)
 * Danish Kroner (DKK)
 * Dominican Peso (DOP)
 * East Caribbean Dollar (XCD)
 * Egyptian Pound (EGP)
 * Ethiopian Birr (ETB)
 * CFP Franc (XPF)
 * Fijian Dollars (FJD)
 * Gambian Dalasi (GMD)
 * Ghanaian Cedi (GHS)
 * Guatemalan Quetzal (GTQ)
 * Guyanese Dollar (GYD)
 * Georgian Lari (GEL)
 * Haitian Gourde (HTG)
 * Honduran Lempira (HNL)
 * Hong Kong Dollars (HKD)
 * Hungarian Forint (HUF)
 * Icelandic Kronur (ISK)
 * Indian Rupees (INR)
 * Indonesian Rupiah (IDR)
 * Israeli New Shekel (NIS)
 * Jamaican Dollars (JMD)
 * Japanese Yen (JPY)
 * Jersey Pound (JEP)
 * Jordanian Dinar (JOD)
 * Kazakhstani Tenge (KZT)
 * Kenyan Shilling (KES)
 * Kuwaiti Dinar (KWD)
 * Kyrgyzstani Som (KGS)
 * Laotian Kip (LAK)
 * Latvian Lati (LVL)
 * Lebanese Pounds (LBP)
 * Lesotho Loti (LSL)
 * Liberian Dollar (LRD)
 * Malagasy Ariary (MGA)
 * Macedonia Denar (MKD)
 * Macanese Pataca (MOP)
 * Malawian Kwacha (MWK)
 * Maldivian Rufiyaa (MVR)
 * Mexican Pesos (MXN)
 * Malaysian Ringgits (MYR)
 * Mauritian Rupee (MUR)
 * Moldovan Leu (MDL)
 * Moroccan Dirham (MAD)
 * Mongolian Tugrik (MNT)
 * Mozambican Metical (MZN)
 * Namibian Dollar (NAD)
 * Nepalese Rupee (NPR)
 * Netherlands Antillean Guilder (ANG)
 * New Zealand Dollars (NZD)
 * Nicaraguan Córdoba (NIO)
 * Nigerian Naira (NGN)
 * Norwegian Kroner (NOK)
 * Omani Rial (OMR)
 * Pakistani Rupee (PKR)
 * Papua New Guinean Kina (PGK)
 * Paraguayan Guarani (PYG)
 * Peruvian Nuevo Sol (PEN)
 * Philippine Peso (PHP)
 * Polish Zlotych (PLN)
 * Qatari Rial (QAR)
 * Romanian Lei (RON)
 * Russian Rubles (RUB)
 * Rwandan Franc (RWF)
 * Samoan Tala (WST)
 * Saudi Riyal (SAR)
 * Sao Tome And Principe Dobra (STD)
 * Serbian dinar (RSD)
 * Seychellois Rupee (SCR)
 * Singapore Dollars (SGD)
 * Sudanese Pound (SDG)
 * Syrian Pound (SYP)
 * South African Rand (ZAR)
 * South Korean Won (KRW)
 * South Sudanese Pound (SSP)
 * Solomon Islands Dollar (SBD)
 * Sri Lankan Rupees (LKR)
 * Surinamese Dollar (SRD)
 * Swazi Lilangeni (SZL)
 * Swedish Kronor (SEK)
 * Swiss Francs (CHF)
 * Taiwan Dollars (TWD)
 * Thai baht (THB)
 * Tanzanian Shilling (TZS)
 * Trinidad and Tobago Dollars (TTD)
 * Tunisian Dinar (TND)
 * Turkish Lira (TRY)
 * Turkmenistani Manat (TMT)
 * Ugandan Shilling (UGX)
 * Ukrainian Hryvnia (UAH)
 * United Arab Emirates Dirham (AED)
 * Uruguayan Pesos (UYU)
 * Uzbekistan som (UZS)
 * Vanuatu Vatu (VUV)
 * Venezuelan Bolivares (VEF)
 * Vietnamese đồng (VND)
 * West African CFA franc (XOF)
 * Yemeni Rial (YER)
 * Zambian Kwacha (ZMW)
 * Saint Helena pound
 * Burundian franc
 * Bermudian dollar
 * Cuban peso
 * Djiboutian franc
 * Eritrean nakfa
 * Guinean franc
 * North Korean won
 * Sierra Leonean leone
 * Somali shilling
 * Tajikistani somoni
 * Tongan paʻanga
 * Falkland Islands pound


 * Log in
 * Create an account

${data.data && data.data.count}

 * HOME
 * EARRINGS
 * NECKLACE
 * RING
 * BRACELET
 * More links
   ${(function(){ const formatLinks = (links) => { return links.map(link => {
   link.tag = tags[link.title.toUpperCase()] || {}; link.target_attr =
   link.target == '_blank' ? 'target="_blank"' : ''; link.href_attr = link.url ?
   `href="${link.url}"` : ''; if(link.children && link.children.length){
   link.children = formatLinks(link.children); } return link; }) }; const tags =
   "{}"; let linkList = [ { id: 62485543, title: "HOME", url: "\/", target: "",
   levels: 0, product0: null || {}, children: [ ] }, { id: 62485545, title:
   "EARRINGS", url: "\/collections\/earrings", target: "", levels: 0, product0:
   null || {}, children: [ ] }, { id: 62485547, title: "NECKLACE", url:
   "\/collections\/necklace", target: "", levels: 0, product0: null || {},
   children: [ ] }, { id: 62485549, title: "RING", url: "\/collections\/ring",
   target: "", levels: 0, product0: null || {}, children: [ ] }, { id: 62485551,
   title: "BRACELET", url: "\/collections\/bracelet", target: "", levels: 0,
   product0: null || {}, children: [ ] }, ].slice(offset); linkList =
   formatLinks(linkList); const hasChild = linkList.some(link =>
   !!(link.children && link.children.length || link.product0.id)); return `
    * ${link.title} ${link.tag.label}
   
    * ${second_link.title} ${second_link.tag.label} ${third_links.title}
      ${third_links.tag.label}
   
   
    * ${link.title} ${link.tag.label}
   
   ` })()}



Bahasa
Indonesia,English,한국어,日本語,Português,العربية,Русский,Español,Français,ไทย,Italiano,Deutsch,Polski,Nederlands,Bahasa
Melayu,svenska,norsk,čeština,Lietuvis,Latvietis,Suomalainen,Ελληνικά,Eestlane,dansk,Magyar,Romanian,Slovenščina,Український,Slovenská,Български,Tiếng
Việt,Türkçe,Hrvatski jezik
USD
 * United States Dollars (USD)
 * Euro (EUR)
 * United Kingdom Pounds (GBP)
 * Canadian Dollars (CAD)
 * Afghan Afghani (AFN)
 * Albanian Lek (ALL)
 * Algerian Dinar (DZD)
 * Angolan Kwanza (AOA)
 * Argentine Pesos (ARS)
 * Armenian Dram (AMD)
 * Aruban Florin (AWG)
 * Australian Dollars (AUD)
 * Barbadian Dollar (BBD)
 * Azerbaijani Manat (AZN)
 * Bangladesh Taka (BDT)
 * Bahamian Dollar (BSD)
 * Bahraini Dinar (BHD)
 * Belarusian Ruble (BYN)
 * Belize Dollar (BZD)
 * Bhutanese Ngultrum (BTN)
 * Bosnia and Herzegovina Convertible Mark (BAM)
 * Brazilian Real (BRL)
 * Bolivian Boliviano (BOB)
 * Botswana Pula (BWP)
 * Brunei Dollar (BND)
 * Bulgarian Lev (BGN)
 * Burmese Kyat (MMK)
 * Cambodian Riel (KHR)
 * Cape Verdean escudo (CVE)
 * Cayman Dollars (KYD)
 * Central African CFA Franc (XAF)
 * Chilean Peso (CLP)
 * Chinese Yuan Renminbi (CNY)
 * Colombian Peso (COP)
 * Comorian Franc (KMF)
 * Congolese franc (CDF)
 * Costa Rican Colones (CRC)
 * Croatian Kuna (HRK)
 * Czech Koruny (CZK)
 * Danish Kroner (DKK)
 * Dominican Peso (DOP)
 * East Caribbean Dollar (XCD)
 * Egyptian Pound (EGP)
 * Ethiopian Birr (ETB)
 * CFP Franc (XPF)
 * Fijian Dollars (FJD)
 * Gambian Dalasi (GMD)
 * Ghanaian Cedi (GHS)
 * Guatemalan Quetzal (GTQ)
 * Guyanese Dollar (GYD)
 * Georgian Lari (GEL)
 * Haitian Gourde (HTG)
 * Honduran Lempira (HNL)
 * Hong Kong Dollars (HKD)
 * Hungarian Forint (HUF)
 * Icelandic Kronur (ISK)
 * Indian Rupees (INR)
 * Indonesian Rupiah (IDR)
 * Israeli New Shekel (NIS)
 * Jamaican Dollars (JMD)
 * Japanese Yen (JPY)
 * Jersey Pound (JEP)
 * Jordanian Dinar (JOD)
 * Kazakhstani Tenge (KZT)
 * Kenyan Shilling (KES)
 * Kuwaiti Dinar (KWD)
 * Kyrgyzstani Som (KGS)
 * Laotian Kip (LAK)
 * Latvian Lati (LVL)
 * Lebanese Pounds (LBP)
 * Lesotho Loti (LSL)
 * Liberian Dollar (LRD)
 * Malagasy Ariary (MGA)
 * Macedonia Denar (MKD)
 * Macanese Pataca (MOP)
 * Malawian Kwacha (MWK)
 * Maldivian Rufiyaa (MVR)
 * Mexican Pesos (MXN)
 * Malaysian Ringgits (MYR)
 * Mauritian Rupee (MUR)
 * Moldovan Leu (MDL)
 * Moroccan Dirham (MAD)
 * Mongolian Tugrik (MNT)
 * Mozambican Metical (MZN)
 * Namibian Dollar (NAD)
 * Nepalese Rupee (NPR)
 * Netherlands Antillean Guilder (ANG)
 * New Zealand Dollars (NZD)
 * Nicaraguan Córdoba (NIO)
 * Nigerian Naira (NGN)
 * Norwegian Kroner (NOK)
 * Omani Rial (OMR)
 * Pakistani Rupee (PKR)
 * Papua New Guinean Kina (PGK)
 * Paraguayan Guarani (PYG)
 * Peruvian Nuevo Sol (PEN)
 * Philippine Peso (PHP)
 * Polish Zlotych (PLN)
 * Qatari Rial (QAR)
 * Romanian Lei (RON)
 * Russian Rubles (RUB)
 * Rwandan Franc (RWF)
 * Samoan Tala (WST)
 * Saudi Riyal (SAR)
 * Sao Tome And Principe Dobra (STD)
 * Serbian dinar (RSD)
 * Seychellois Rupee (SCR)
 * Singapore Dollars (SGD)
 * Sudanese Pound (SDG)
 * Syrian Pound (SYP)
 * South African Rand (ZAR)
 * South Korean Won (KRW)
 * South Sudanese Pound (SSP)
 * Solomon Islands Dollar (SBD)
 * Sri Lankan Rupees (LKR)
 * Surinamese Dollar (SRD)
 * Swazi Lilangeni (SZL)
 * Swedish Kronor (SEK)
 * Swiss Francs (CHF)
 * Taiwan Dollars (TWD)
 * Thai baht (THB)
 * Tanzanian Shilling (TZS)
 * Trinidad and Tobago Dollars (TTD)
 * Tunisian Dinar (TND)
 * Turkish Lira (TRY)
 * Turkmenistani Manat (TMT)
 * Ugandan Shilling (UGX)
 * Ukrainian Hryvnia (UAH)
 * United Arab Emirates Dirham (AED)
 * Uruguayan Pesos (UYU)
 * Uzbekistan som (UZS)
 * Vanuatu Vatu (VUV)
 * Venezuelan Bolivares (VEF)
 * Vietnamese đồng (VND)
 * West African CFA franc (XOF)
 * Yemeni Rial (YER)
 * Zambian Kwacha (ZMW)
 * Saint Helena pound
 * Burundian franc
 * Bermudian dollar
 * Cuban peso
 * Djiboutian franc
 * Eritrean nakfa
 * Guinean franc
 * North Korean won
 * Sierra Leonean leone
 * Somali shilling
 * Tajikistani somoni
 * Tongan paʻanga
 * Falkland Islands pound

 * Log in
 * Create an account

${data.data && data.data.count}
 * HOME
 * EARRINGS
 * NECKLACE
 * RING
 * BRACELET


${(function(){ if (data === undefined || typeof data !== 'string' || data == '')
return ''; const keyword = encodeURIComponent(data); return `
View more
Your search for '${data}' did not yield any results.

` })()}
(function(){ let w = window.innerWidth; function setHeaderCssVar() { const
headerEle = document.getElementById('shoplaza-section-header'); if(!headerEle){
return }; document.body.style.setProperty('--window-height',
`${window.innerHeight}px`); document.body.style.setProperty('--header-height',
`${headerEle.clientHeight}px`); const mdScorllHideEle =
headerEle.querySelector('.header__mobile .header__scroll_hide'); if
(mdScorllHideEle) {
document.body.style.setProperty('--header-scroll-hide-height-md',
`${mdScorllHideEle.clientHeight}px`); } const pcScorllHideEle =
headerEle.querySelector('.header__desktop .header__scroll_hide'); if
(pcScorllHideEle) {
document.body.style.setProperty('--header-scroll-hide-height-pc',
`${pcScorllHideEle.clientHeight}px`); } } function handlResize() { if(w ==
window.innerWidth){return}; w = window.innerWidth; setHeaderCssVar(); };
function init(){ setHeaderCssVar(); window.removeEventListener('resize',
window._theme_header_listener) window._theme_header_listener = handlResize;
window.addEventListener('resize', window._theme_header_listener); } init();
})();

${function(){ const rules = data.data.rules; return `

` }()}
You May Also Like
 * Super LED Light For Car/Motorcycle
   $24.86
   $29.99
   Quick Shop
 * Car Seat Gap Filler
   $39.98
   $59.98
   Quick Shop
 * Universal Car Window Screens (Fits all Cars)
   $17.98
   Quick Shop
 * Golden Glass Ball Wall Lights
   $45.66
   Quick Shop
 * Fast Shipping Worldwide - LED Swing Head Fan Light
   $59.99
   $99.98
   Quick Shop
 * Creative Crystal Wall Sconce for Bedroom: E14 Bedside Lamp
   $32.30
   Quick Shop
 * 🔥 3D Animals LED Wall Light 🔥 Bald Eagle & Night Owl & Lion Head
   
   Quick Shop
 * Car Soundproof Weather Strip
   
   Quick Shop
 * Nordic Modern Creativity Bedroom Eclipse LED Art Wall Sconce Lamp
   
   Quick Shop
 * LED rechargeable light whip
   
   Quick Shop
 * LED Tulip Night Light Simulation Flower Table Lamp
   
   Quick Shop
 * LED USB Wireless Wood Stick Night Light: Warm Motion Sensor Wall Lamp for
   Magnetic Corridor Cabinet Wardrobe Decoration Home Light
   
   Quick Shop
 * 🔥49% OFF🔥 - Waterproof Solar Powered LED Outdoor String Lights
   
   Quick Shop
 * Magnetic Rechargeable Long Battery Life Touch Lamp
   
   Quick Shop
 * 🌟Creative Pull out Cute Large capacity Car Key Case 🌟🔥FLASH SALE up to 50%
   OFF🔥
   
   Quick Shop
 * LED Solar Lamp Path Staircase Outdoor Waterproof Wall Light🔥BUY MORE SAVE
   MORE
   
   Quick Shop
 * Summer Hot Sale-48% OFF-DIY Bottle Lights
   
   Quick Shop
 * 💀Piston art skull keychain [pendant/flashlight/bottle opener]
   
   Quick Shop
 * HOT SALE UPGRADE LED FLAME LIGHT BULB
   
   Quick Shop
 * Cordless Table Lamp - Dimmable & Rechargeable Desk Light
   
   Quick Shop
 * ⭐52% Off Silky Loose V-neck Top (4 Colors)
   
   Quick Shop
 * Printed Button Up Maxi Dress
   
   Quick Shop
 * Vintage Chic Cat Animal Knuckle Rings for Women Girls Charm Gothic Punk Frog
   Rubbit Octopus Opening Finger Rings Fashion Jewelry
   
   Quick Shop
 * 2023 New Funny Small Black Cat Earring for Women Girl Fashion Cute Animal
   Earrings Fashion Party Jewelry Gifts Wholesale
   
   Quick Shop
 * 49% OFF💥2023 New Style Mask Headgear
   
   Quick Shop
 * Jumpsuit with Tummy ControlPanel-buy 3 free shipping
   
   Quick Shop
 * Canister With Attitude
   
   Quick Shop
 * Gestrickte Pulloverjacke mit einfarbigen Pailletten
   
   Quick Shop
 * (Big Sale💥)Fish-mouth Rivet Open Toe Flat Sandals
   
   Quick Shop
 * 🎉Heritage Round Wall Art
   
   Quick Shop
 * Thick Rabbit Plush Sofa Cover
   
   Quick Shop
 * 🔥Sale 48% OFF🔥Adjustable Chest Brace Support Multifunctional Bra
   
   Quick Shop
 * Precision Casting Fire-breathing Dragon Sculpture Waterscape
   
   Quick Shop
 * Double sided chenille sofa cover
   
   Quick Shop
 * 💥50% Off💥Red Truck Christmas Wreath
   
   Quick Shop
 * 💥PROMOTION 49%OFF💥Liquor Alcohol Whiskey wood Dispenser
   
   Quick Shop
 * Multifunctional Cleaning Shovel
   
   Quick Shop
 * (Clearance Sale 70% OFF) Mini chainsaw
   
   Quick Shop
 * Fashion Cotton Linen Solid Color V-neck Dress
   
   Quick Shop
 * Cutting Machine Base Plate
   
   Quick Shop
 * Shackle - Art Sculptures
   
   Quick Shop
 * 🔥Super SuctionMultifunctional Powerful Mute Exhaust Fan
   
   Quick Shop
 * 1-in-2-out dual control valve(50%OFF)
   
   Quick Shop
 * 🔥LIMITED TIME SPECIAL SALE 50% OFF ❤️ - Newest 5-in-1 Professional Styler
   
   Quick Shop
 * 🔥Cordless Portable High Pressure Spray Water Gun
   
   Quick Shop
 * 🎁🎁The Best Gift for Kids-Handmade Waldorf Doll👧(Buy2 Free Shipping)
   
   Quick Shop
 * 🎅Santa Holdings Tray Figurine
   
   Quick Shop
 * Buckle Closure Waist Slimming Elastic Knit Romper
   
   Quick Shop
 * Together We Are Family gift
   
   Quick Shop
 * Casual Vintage Print Crew Neck Long Sleeve Sweatshirt
   
   Quick Shop
 * Frankie the Stag Wall Mount
   
   Quick Shop
 * Knitted sweater jacket with solid color sequins
   
   Quick Shop
 * 🔥HOT SALE NOW 49% OFF - Four Seasons Tree Wine Glasses - Hand Painted Art
   
   Quick Shop
 * DIAMOND SILVER LEATHER SNEAKERS
   
   Quick Shop
 * Solid Color Jacket & High Waist Straight Pants Set (Buy 2 Free shipping)
   
   Quick Shop
 * Premium Watercolor Set Of 50 With Brush
   
   Quick Shop
 * ❄️2024 Winter Sale 65% OFF❄️Mini Dual-purpose Curling Iron
   
   Quick Shop
 * 🔥2023 NEW HOT SALE 49% OFF💥Cool skeleton figurines
   
   Quick Shop
 * 🔥49 % OFF🔥Shapewear for Women Tummy Control Full Bust Body Shaper
   
   Quick Shop
 * Solid color simple genuine leather shoulder bag
   
   Quick Shop
 * Fashionable new dress
   
   Quick Shop
 * Men's Soft Leather Slippers - Proven Plantar Fasciitis, Foot and Heel Pain
   Relief
   
   Quick Shop
 * Floaty 2 Piece Sleeved Trouser Set(Buy 2 Get Free Shipping)
   
   Quick Shop
 * Special Cutting Bracket Protective Cover For Angle Grinder
   
   Quick Shop
 * Stylish cowhide premium genuine leather mini handbag
   
   Quick Shop
 * Lntelligent digital display pull-out faucet
   
   Quick Shop
 * Long Sleeve Split Loose Casual Dress (Buy 2 Free Shipping)
   
   Quick Shop
 * Hinged Flower Vase
   
   Quick Shop
 * 🎈New living room corner double-sided luminous creative clock wall lamp
   
   Quick Shop
 * 🎃Early Halloween Promotion 49% OFF😈 Demon one-eyed doorbell
   
   Quick Shop
 * Cotton Lounge Set (Buy 2 Free Shipping)
   
   Quick Shop
 * Casual 2 Pieces Suit With Long Top & Matching Trouser(Buy 2 get free
   shipping)
   
   Quick Shop
 * The Air Essentials Set
   
   Quick Shop
 * WHITE CORSET MINI DRESS
   
   Quick Shop
 * Swim Romper Built-in Bra
   
   Quick Shop
 * Hand Carved Wooden Mug
   
   Quick Shop
 * Women's fashionable and sexy high-waisted long-sleeved trousers two-piece set
   
   Quick Shop
 * Halloween frog back pumpkin garden decoration
   
   Quick Shop
 * Strapless Elastic Backless Sexy Dress
   
   Quick Shop
 * 🔥49% OFF - Professional Ceramic Tourmaline Ionic Flat Iron Hair Straightener
   
   Quick Shop
 * Exquisite Colorful Heart Bracelet For Women Charm Korean Crystal Zircon Metal
   Chain Bracelets&Bangle Party Birthday Jewelry Gift
   
   Quick Shop
 * Design Nice Outfit Jacket
   
   Quick Shop
 * Handy Watercolor Travel Kit
   
   Quick Shop
 * Explore the Mystical World of Tarot Gold Foil Tarot
   
   Quick Shop
 * Halloween prank makeup temporary tattoo
   
   Quick Shop
 * Elegant simple turtleneck sweater
   
   Quick Shop
 * Christmas Tree Mug With Lid Spoon
   
   Quick Shop
 * Men's Mesh Ice Silk Short-Sleeved T-Shirt
   
   Quick Shop
 * BUY 1 GET 2 FREE😲- 3PCS*Button Print Bra
   
   Quick Shop
 * 🎃HALLOWEEN HOLOGRAM PROJECTOR🎃
   
   Quick Shop



${function(){ const isCart = data.data.isCart; const isCollection =
data.data.isCollection; const isProduct = data.data.isProduct; const isIndex =
data.data.isIndex; return `
${isCart ? 'The items in the shopping cart do not participate in any
recommendation rule. Add the participating items to your shopping cart to check
the design.' : ''} ${isProduct ? 'This product did not participated in any
recommendation rule. Switch to another product to check the design.' : ''}
${isCollection ? 'The items in this collection do not participate in any
recommendation rule. Switch the participating items to check the design.' : ''}
${isIndex ? 'The home page do not participate in any recommendation rule.' : ''}
(This prompt would not display on client-side)
Recommended Products
` }()} ${function(){ const rule = data.data; const getImageHeight =
function(image){ const image_size = rule.config.image_size || 0; const
imageWidth = image.width || 600; const imageHeight = image.height || 800; let
ratio = 0; if(image_size == 0){ ratio = (imageHeight / imageWidth).toFixed(2);
}else if(image_size == 1){ ratio = 1.5; }else if(image_size == 2){ ratio = 1;
}else if(image_size == 3){ ratio = 0.75; } return imageWidth * ratio; }; 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('&'); return `
${rule.config.title}
 * ${product.title}
   
   ${rule.config.quick_shop_button_text}



` }()}


class SpzSmartBlockComponent extends SPZ.BaseElement { constructor(element) {
super(element); this.templates_ = null; this.container_ = null; this.i18n_ = {};
this.config_ = {}; this.show_type_ = 3; this.product_resource_id_ = '';
this.collection_resource_id_ = ''; this.cart_items_ = []; this.customer_id_ =
''; this.order_id_ = ''; } static deferredMount() { return false; }
isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; }
buildCallback() { const template_type =
window.SHOPLAZZA.meta.page.template_type; if (template_type === 1) {
this.show_type_ = 3; this.product_resource_id_ =
window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 2) {
this.show_type_ = 4; this.collection_resource_id_ =
window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 15){
this.show_type_ = 5; } else if (template_type === 13){ this.show_type_ = 6; }
else if (template_type === 20){ this.show_type_ = 7; this.customer_id_ =
window.SHOPLAZZA.customer.customer_id; } else if (template_type === 35){
this.show_type_ = 8; this.order_id_ = window.location.pathname.split('/').pop();
} this.templates_ = SPZServices.templatesForDoc(this.element);
this.setAction_(); } mountCallback() { console.log('smart mounted'); const that
= this; const themeName = window.SHOPLAZZA.theme.merchant_theme_name; const
isGeek = /Geek/.test(themeName); this.fetchRules().then((res) => { if (res &&
res.rules && res.rules.length) { const blockEl =
document.getElementById('smart_recommend_block');
SPZ.whenApiDefined(blockEl).then((api) => { api.render({data: res},
true).then(() => { if (isGeek && that.show_type_ === 6) {
blockEl.querySelector('.plugin_container_wrpper').style.padding = '30px 0'; }
const recommendStyle = document.createElement('style'); recommendStyle.innerHTML
= ` .plugin__recommend_container,.app-recommend-card { display: none !important;
} `; document.head.appendChild(recommendStyle); const fetchList = [];
res.rules.forEach((rule) => {
fetchList.push(this.fetchRuleProductList(rule.id)); }); const fetchAll =
Promise.all(fetchList); fetchAll.then((p_res) => { res.rules.forEach((rule,
index) => { rule.products = p_res[index] && p_res[index].products; const ruleEl
= document.getElementById('smart_recommend_rule_' + rule.id);
SPZ.whenApiDefined(ruleEl).then((api) => { api.render({data: rule},
true).then(() => { that.impressListen(`#smart_recommend_rule_ul_${rule.id}`,
function(){ that.trackRuleImpress(rule); }); const btnElList =
document.querySelectorAll(`#smart_recommend_rule_ul_${rule.id} button`);
btnElList.forEach((btnEl) => { if (btnEl && rule.config &&
rule.config.quick_shop_button_bg_color &&
rule.config.quick_shop_button_text_color) { btnEl.style.backgroundColor =
rule.config.quick_shop_button_bg_color; btnEl.style.color =
rule.config.quick_shop_button_text_color; } }) }); }); }); }); }) }) } else { if
(window.top !== window.self) { const template_type =
window.SHOPLAZZA.meta.page.template_type; const holderEl =
document.getElementById('smart_recommend_preview_no_data_placeholder');
SPZ.whenApiDefined(holderEl).then((api) => { api.render({data: { isCart:
template_type === 13, isCollection: template_type === 2, isProduct:
template_type === 1, isIndex: template_type === 15 }}, true); }); } } }); }
setAction_() { this.registerAction('quickShop', (data) => { const that = this;
const product_id = data.args.product_id; const productIndex =
data.args.productIndex; const rule_id = data.args.rule_id; const ssp =
data.args.ssp; const scm = data.args.scm; const cfb = data.args.cfb; const ifb =
data.args.ifb; const modalRender =
document.getElementById('smart_recommend_product_modal_render'); if (product_id)
{ this.fetchProductData(product_id).then((res) => { const product = res.products
&& res.products.length && res.products[0] || {}; product.cfb = cfb; product.ifb
= ifb; SPZ.whenApiDefined(modalRender).then((api) => { api.render({product:
product, productIndex: productIndex, rule_id: rule_id, ssp: ssp, scm: scm,
show_type: that.show_type_}, true).then(() => { const modalEl =
document.getElementById('smart_recommend_product_modal');
SPZ.whenApiDefined(modalEl).then((modal) => {
that.impressListen('#smart_recommend_product_modal', function(){
that.trackQuickShop({ rule_id: rule_id, product_id: product_id }); });
modal.open(); }); const formEl =
document.getElementById('smart_recommend_product_form');
SPZ.whenApiDefined(formEl).then((form) => { form.setProduct(product); }); const
variantEl = document.getElementById('smart_recommend_product_variants');
SPZ.whenApiDefined(variantEl).then((variant) => { variant.handleRender(product);
}); }); }) }); } }); this.registerAction('handleScroll', (data) => {
this.directTo(data.args.rule_id, data.args.direction); });
this.registerAction('handleProductChange', (data) => { const variant =
data.args.data.variant; const product = data.args.data.product; const
imageRenderEl = document.getElementById('smart_recommend_product_image');
SPZ.whenApiDefined(imageRenderEl).then((api) => { api.render({ variant: variant,
product: product }, true); }); }); this.registerAction('handleAtcSuccess',
(detail) => { const data = detail.args; data.data.product = data.data.product ||
{}; data.data.variant = data.data.variant || {}; const product_id =
data.data.product.id; const product_title = data.data.product.title; const
variant_id = data.data.variant.id; const price = data.data.variant.price; const
rule_id = data.rule_id; const aid =
`smart_recommend.${this.show_type_}.${rule_id}`; const ifb =
data.data.product.ifb; const cfb = data.data.product.cfb; const ssp = data.ssp;
const scm = data.scm; const spm =
`smart_recommend_${this.show_type_}.${data.spmIndex}`; 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, } };
this.tranckAddToCart(params); }); this.registerAction('addATCHook', (data) => {
const params = data.args; const spm =
`smart_recommend_${this.show_type_}.${params.spmIndex}`; this.myInterceptor_ =
window.djInterceptors && window.djInterceptors.track.use({ event:
'dj.addToCart', params: { aid: `smart_recommend.${this.show_type_}.` +
params.rule_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm:
`..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, }, once: true }); }); }
tranckAddToCart(detail) { if (window.$) {
window.$(document.body).trigger('dj.addToCart', detail); } } fetchRules() {
const payload = { show_type: this.show_type_, }; let that = this; if
(this.show_type_ === 6) { let line_items = []; return
this.fetchCart().then((res) => { if (res && res.cart && res.cart.line_items) {
line_items = res.cart.line_items.map((item) => { return { product_id:
item.product_id, variant_id: item.variant_id, quantity: item.quantity, price:
item.price } }); } payload.line_items = line_items; that.cart_items_ =
line_items; return that.fetchRulesRequest(payload); }); } else { if
(this.show_type_ === 3) { payload.line_items = [{ product_id:
this.product_resource_id_ }]; } else if (this.show_type_ === 4) {
payload.collection_id = this.collection_resource_id_; } else if (this.show_type_
=== 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ ===
8) { payload.order_id = this.order_id_; } return
this.fetchRulesRequest(payload); } } fetchRulesRequest(payload) { return
fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_query", { method:
"POST", headers: { "Content-Type": "application/json" }, body:
JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); }
}); } fetchCart() { return
fetch(`/api/cart/cart-select?r=${Math.random().toString(36).slice(-4)}`)
.then((res) => { if (res.ok) { return res.json(); } }); }
fetchRuleProductList(rule_id) { const payload = { page: 1, limit: 100, fields:
["title", "url", "image", "min_price_variant.price",
"min_price_variant.compare_at_price"], rule_id: rule_id, }; if (this.show_type_
=== 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; }
else if (this.show_type_ === 4) { payload.collection_id =
this.collection_resource_id_; } else if (this.show_type_ === 6) {
payload.line_items = this.cart_items_; } else if (this.show_type_ === 7) {
payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) {
payload.order_id = this.order_id_; } return fetch(window.SHOPLAZZA.routes.root +
"/api/possum/recommend_products", { method: "POST", headers: { "Content-Type":
"application/json" }, body: JSON.stringify(payload) }).then(function(res){
if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); }); }
fetchProductData(product_id) { return fetch(window.SHOPLAZZA.routes.root +
"/api/possum/products", { method: "POST", headers: { "Content-Type":
"application/json" }, body: JSON.stringify({ product_ids: [product_id], fields:
[ "images", "options", "min_price_variant", "variants"] })
}).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){
console.log(err); const loadingEl =
document.getElementById('smart_recommend_loading'); if (loadingEl) {
loadingEl.style.display = 'none'; } }); } getStyle(ele, style) { if (!ele)
return; if (window.getComputedStyle) { return
window.getComputedStyle(ele)[style]; } return ele.currentStyle[style]; }
directTo(id, direction) { const scrollElement =
document.getElementById(`smart_recommend_rule_ul_${id}`); const blockWidth =
parseInt(this.getStyle(scrollElement, 'width')); const scrollLength =
(blockWidth * 0.19 - 12) * 5; const scrollPoint = scrollElement.scrollWidth -
scrollElement.clientWidth; if (!scrollElement) return; if (direction === 'left')
{ if (document.dir === 'rtl') { scrollElement.scrollTo({ left:
Math.abs(scrollElement.scrollLeft) >= scrollPoint - 100 ? 0 :
scrollElement.scrollLeft - scrollLength, behavior: 'smooth' }); return; }
scrollElement.scrollTo({ left: Math.max(scrollElement.scrollLeft - scrollLength,
0), behavior: 'smooth' }); } else { if (document.dir === 'rtl') {
scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint
+ 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' });
return; } scrollElement.scrollTo({ left: scrollElement.scrollLeft >= scrollPoint
- 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); } }
trackRuleImpress(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:
this.show_type_, support_app_block: window.SHOPLAZZA.theme.support_app_block });
window.sa.track("module_impressions", { aid:
`smart_recommend.${this.show_type_}.${rule.id}`, support_app_block:
window.SHOPLAZZA.theme.support_app_block }); } } trackQuickShop(data) {
window.sa && sa.track && sa.track("plugin_common", { plugin_name: "upsell",
event_type: "quick_shop", rule_id: data.rule_id, product_id: data.product_id,
show_type: this.show_type_, }); } 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-block', SpzSmartBlockComponent);
${(function(){ const product = data.product; 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('&'); return `
${product.images.map((image) => { return `` }).join('')}

${product.title}

See detail
Quantity
Add To Cart Buy Now
`; })()}
${(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("") }
` })()}

${data.index + 1}/5
1/5


CAR INTERIOR AMBIENT LIGHTS- (CONTAINS 4 LIGHT BARS)

${function() { const variantData = data.variant ||
{"id":"3d19f6d0-713c-43d4-9bfe-d66d8db75c28","product_id":"921c308e-61ad-4c95-a97b-3dfad51c8fac","title":"ONE
BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)-BUY
1","weight_unit":"kg","inventory_quantity":1000,"sku":"Q--1","barcode":"","position":1,"option1":"ONE
BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)","option2":"BUY
1","option3":"","note":"","image":null,"wholesale_price":[{"price":24.97,"min_quantity":1}],"weight":"0","compare_at_price":"39.99","price":"24.97","retail_price":"39.99","available":true,"url":"\/products\/car-interior-ambient-lights-contains-4-light-bars-dd7e953cf72d-8c69-4b5d-a9ea-46d1f3b2096394497168-4307-4ef6-ba6d-f1ce35900584?variant=3d19f6d0-713c-43d4-9bfe-d66d8db75c28","available_quantity":999999999,"options":[{"name":"Style","value":"ONE
BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)"},{"name":"BUY MORE SAVE
MORE","value":"BUY 1"}],"off_ratio":38,"flashsale_info":[],"sales":0}; const
saveType = "amount"; const saveText = "Save {{saved_amount}}"; const
productLabelDiscountOn = true; return `
-
${saveText.replace('\{\{saved_amount\}\}', saveType == 'percentage' ?
variantData.off_ratio + '%' : `` )}
`; }()}
$24.97
$39.99
Save
$15.02

10% OFF 2nd item 15% OFF 3rd item 20% OFF 4th item

Style ${function(){ const optName = "Style"; const optionValue =
data.originData.selectData ? data.originData.selectData[optName].value :
data.originData.value; const optionValueText = optionValue ? (': ' +
optionValue) : ''; return ` ${optionValueText} ` }()} : ONE BOX (4 LIGHT STRIPS
WITH REMOTE CONTROL)
ONE BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)
${function(){ const tipText = "Please select a {{ name
}}".replace(/\{\{\s+name\s+\}\}/g, data); return `
${tipText}
` }()} Buy More Save More ${function(){ const optName = "BUY MORE SAVE MORE";
const optionValue = data.originData.selectData ?
data.originData.selectData[optName].value : data.originData.value; const
optionValueText = optionValue ? (': ' + optionValue) : ''; return `
${optionValueText} ` }()} : BUY 1
BUY 1
BUY 2 (SAVES $10) Most Recommend
BUY 4 FREE SHIPPING
${function(){ const tipText = "Please select a {{ name
}}".replace(/\{\{\s+name\s+\}\}/g, data); return `
${tipText}
` }()}
Quantity

Worldwide delivery
Return guarantee
Sustainably made
Secure payments
Add to cart
$24.97
${function(){ const wholesale_enabled = false; const qty = data.quantity || 1;
const currentSelectVariant = data.variant; const defaultVariant = (data.product
&& data.product.variants && data.product.variants[0]); const productVariant =
{"id":"3d19f6d0-713c-43d4-9bfe-d66d8db75c28","product_id":"921c308e-61ad-4c95-a97b-3dfad51c8fac","title":"ONE
BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)-BUY
1","weight_unit":"kg","inventory_quantity":1000,"sku":"Q--1","barcode":"","position":1,"option1":"ONE
BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)","option2":"BUY
1","option3":"","note":"","image":null,"wholesale_price":[{"price":24.97,"min_quantity":1}],"weight":"0","compare_at_price":"39.99","price":"24.97","retail_price":"39.99","available":true,"url":"\/products\/car-interior-ambient-lights-contains-4-light-bars-dd7e953cf72d-8c69-4b5d-a9ea-46d1f3b2096394497168-4307-4ef6-ba6d-f1ce35900584?variant=3d19f6d0-713c-43d4-9bfe-d66d8db75c28","available_quantity":999999999,"options":[{"name":"Style","value":"ONE
BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)"},{"name":"BUY MORE SAVE
MORE","value":"BUY 1"}],"off_ratio":38,"flashsale_info":[],"sales":0}; const
variantData = currentSelectVariant || defaultVariant || productVariant; const
wholesale_price = variantData.wholesale_price || []; if(wholesale_enabled &&
wholesale_price.length > 0) { let wholesaleIndex =
wholesale_price.findIndex(item => { return item.min_quantity > qty; });
if(wholesaleIndex < 0){ wholesaleIndex = wholesale_price.length - 1; }else
if(wholesaleIndex > 0){ wholesaleIndex = wholesaleIndex - 1; } const
wholesalePrice = wholesale_price[wholesaleIndex] || ''; return `

` }else { const price = variantData && variantData.price; return price !=
undefined ? `

` : ''; } }()}

Buy now

Product was out of stock.
Product is unavailable.
${function(){ const variantData = data.variant ||
{"id":"3d19f6d0-713c-43d4-9bfe-d66d8db75c28","product_id":"921c308e-61ad-4c95-a97b-3dfad51c8fac","title":"ONE
BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)-BUY
1","weight_unit":"kg","inventory_quantity":1000,"sku":"Q--1","barcode":"","position":1,"option1":"ONE
BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)","option2":"BUY
1","option3":"","note":"","image":null,"wholesale_price":[{"price":24.97,"min_quantity":1}],"weight":"0","compare_at_price":"39.99","price":"24.97","retail_price":"39.99","available":true,"url":"\/products\/car-interior-ambient-lights-contains-4-light-bars-dd7e953cf72d-8c69-4b5d-a9ea-46d1f3b2096394497168-4307-4ef6-ba6d-f1ce35900584?variant=3d19f6d0-713c-43d4-9bfe-d66d8db75c28","available_quantity":999999999,"options":[{"name":"Style","value":"ONE
BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)"},{"name":"BUY MORE SAVE
MORE","value":"BUY 1"}],"off_ratio":38,"flashsale_info":[],"sales":0}; return `
Weight : ${variantData && variantData.weight}${variantData &&
variantData.weight_unit}
Barcode : ${variantData && variantData.barcode}
` }()}

23 people are viewing this right now
Share the love



Description

 * 🔥This discount is only available online.🔥
 * ✔ Free 3 Years Product Warranty.
 * ✔ 100% money back guarantee.


FOLLOW THE MUSIC AND ENJOY THE ATMOSPHERE IN YOUR CAR!!✨✨




FOUR-IN-ONE CHARGING CABLE

 *  we have a Four-in-one Charging Cable (FOR FREE), that can be used directly
   for charging. The charging cable is compatible with all USB ports and can be
   charged outside. allows you to charge anytime, anywhere.

EASY INSTALLATION

 * Powerful Magic Stickers&Fixing Glue are used to fix the position of the light
   bar, on the carhese lights are installed with a Magic Stickers on the back
   for a hassle-free easy installation .It will not leave any traces when
   installed and removed, and the stickiness will not disappear. 
 * They can be installed on the underside of your glove compartment or steering
   wheel, on the sides of your car, on the ceiling, or any other surface!

MUSIC VOICE CONTROL + REMOTE CONTROL

 * Sound sensitive function, the color will change according to music rhythm.
 * The color and style of the light can be controlled by the remote control.
   There are Solid color, multicolor, starlight modes  ,  7 colors can be
   switched at will.



✨✨LED STARS ATMOSPHERE LIGHTS- ENJOY YOUR COLORFUL LIFE

 * 7colors - Red, blue, green, purple, red + green, red + blue, green + blue,
   Multi-color full stars neon accent lights for your car floor front & back
   row.
 * Breathing mode - the stars foot lights will gradually fade out and become
   dark, forming a breathing flash mode.
 * Closed light control - the sound sensing rhythm flashes, no sound is not
   bright.
 * REMOTE-CONTROLLED: The Car Interior LED Lights come with a remote control for
   the lights and a control box for the music. With these two devices, you can
   control the music and the lights from the comfort of your seat. There is no
   need to toggle with the lights themselves at all!



 * ATTRACTIVE: The Car Interior LED Lights come in a multitude of colors that is
   sure to tickle anyone's fancies. The lights come in white, red, blue, green,
   light blue, orange, yellow, pink, and purple.
 * CUSTOMIZABLE: Add a touch of your unique personality into your car with
   these Car Interior LED Lights! Why settle for a boring, old car when you
   could have a flashy and bright car all for yourself, right?

SPECIFICATIONS

 * Material: LED, ABS
 * LED Type: 5050 SMD

PACKAGE INCLUDES

 * 4 x Car Interior LED Lights
 * 1 x Remote Control
 * 1 x USB lighter Charging Cable
 * 1 x Music Control Box
 * 1 x Powerful magic stickers&Fixing glue
 * 1 x instructions


CUSTOMER QUESTION & ANSWER

Question: How to recharge?

🌹Answer: we have a free charging cable that can be used directly for charging.
Our charging cable is compatible with all USB ports and can be charged outside.



Question: Can you set them to a solid color ?

🌹Answer: The solid color mode can be adjusted by the remote control ,and you
can adjust the breathing mode through the remote control and weaken the light .



Question: How to install them?

🌹Answer: The light bar uses Powerful Magic Stickers&Fixing Glue help fix the
light bar. It will not leave any traces when installed and removed, and the
stickiness will not disappear.



Question: How long does it take to ship?


🌹Answer:The specific delivery time depends on your region, usually, you will
receive this product within 7 to 12 working days.



Question: How much?

🌹Answer:Our light on sale now, only $24.97 a set.

Our light bar  also suitable for parties, interior decoration and ect.
Accompanied by music, you can enjoy the Interior Ambient Lights for fun.Get
yours now, buy more and save!!! 

4 GREAT REASONS TO BUY FROM US

SHIPPING

 * Shipping takes 7-14 days depending on location.
 * Some distant areas can take a bit longer. But we'll get it to you

OUR GUARANTEE

 * 🌎We truly believe we carry some of the most innovative products in the
   world✈ , and we want to make sure we back that up with a risk-free ironclad
   90-day guarantee.
 * If you don't have a positive experience for ANY reason, we will do WHATEVER
   it takes to make sure you are 100% satisfied with your purchase.🔥 🔥 
 * Buying items online can be a daunting task, so we want you to realize that
   there are absolutely ZERO risks in buying something and trying it out. If you
   don't like it, no hard feelings we'll make it right.
 * We have 24/7/365 Ticket and Email Support. Please contact us if you need
   assistance.😉





RECENTLY VIEWED



Subscribe today to hear first about our sales

Subscribe
Please enter a valid email address.
Please enter your email address.
${data.errors && data.errors[0]}
Thanks for subscribing

We accept

 * American Express
 * Mastercard
 * PayPal
 * Visa
 * JCB
 * Discover
 * Diners Club

We accept

 * American Express
 * Mastercard
 * PayPal
 * Visa
 * JCB
 * Discover
 * Diners Club

Follow us

 * 
 * 
 * 

Follow us

 * 
 * 
 * 

© 2024 Easeeye ABOUT US CONTACT US PRIVACY POLICY RETURN POLICY SHIPPING TERMS
OF SERVICE FAQ INTELLECTUAL PROPERTY RIGHTS
View Cart
${function(){ const productData = data.product; let product_change_event = '',
mouse_over_event = ' '; mouse_out_event = ''; const product_options =
productData.options.filter(Boolean) || []; for (let opt of product_options) {
product_change_event = product_change_event +
`quick-shop-selected-variant-${opt.name}.rerender(data=event.selectedValues.${opt.name});`;
mouse_out_event = mouse_out_event +
`quick-shop-selected-variant-${opt.name}.rerender(data=event.selectData.${opt.name});`;
mouse_over_event = mouse_over_event +
`@${opt.name}Mouseover="quick-shop-selected-variant-${opt.name}.rerender(data=event);"`;
} const selectedVariant = productData.variants.find(v => v.available) ||
productData.variants[0]; const statusLan = ((selectedVariant &&
!selectedVariant.available) || (!selectedVariant && !productData.available)) ?
"Sold out" : "Add to cart"; return `
${statusLan}

` }()}

${function(){ const currentSelectVariant = data.variant; const defaultVariant =
(data.product && data.product.variants && data.product.variants[0]); const
variantData = currentSelectVariant || defaultVariant || data; const retail_price
= variantData.retail_price || 0; return `
Retail
` }()} ${function(){ const wholesale_enabled = false; const qty = data.quantity
|| 1; const currentSelectVariant = data.variant; const defaultVariant =
(data.product && data.product.variants && data.product.variants[0]); const
productVariant =
{"id":"3d19f6d0-713c-43d4-9bfe-d66d8db75c28","product_id":"921c308e-61ad-4c95-a97b-3dfad51c8fac","title":"ONE
BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)-BUY
1","weight_unit":"kg","inventory_quantity":1000,"sku":"Q--1","barcode":"","position":1,"option1":"ONE
BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)","option2":"BUY
1","option3":"","note":"","image":null,"wholesale_price":[{"price":24.97,"min_quantity":1}],"weight":"0","compare_at_price":"39.99","price":"24.97","retail_price":"39.99","available":true,"url":"\/products\/car-interior-ambient-lights-contains-4-light-bars-dd7e953cf72d-8c69-4b5d-a9ea-46d1f3b2096394497168-4307-4ef6-ba6d-f1ce35900584?variant=3d19f6d0-713c-43d4-9bfe-d66d8db75c28","available_quantity":999999999,"options":[{"name":"Style","value":"ONE
BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)"},{"name":"BUY MORE SAVE
MORE","value":"BUY 1"}],"off_ratio":38,"flashsale_info":[],"sales":0}; const
variantData = currentSelectVariant || defaultVariant || productVariant; const
wholesale_price = variantData.wholesale_price || []; if(wholesale_enabled &&
wholesale_price.length > 0) { let wholesaleIndex =
wholesale_price.findIndex(item => { return item.min_quantity > qty; });
if(wholesaleIndex < 0){ wholesaleIndex = wholesale_price.length - 1; }else
if(wholesaleIndex > 0){ wholesaleIndex = wholesaleIndex - 1; } const
wholesalePrice = wholesale_price[wholesaleIndex] || ''; return `

` }else { const price = variantData && variantData.price; return price !=
undefined ? `

` : ''; } }()}
${function() { let variantImageShowed = false; const currentProduct =
data.product; return (currentProduct.options || []).map((option, index) => {
const optionName = option.name || ''; const position = `option${index + 1}`; let
isThumbImage = false; if (currentProduct.need_variant_image &&
!variantImageShowed) { const variantNames = ["color"] || []; for (let i = 0, len
= variantNames.length; i < len; i++) { const name =
variantNames[i].toLowerCase(); if (name === optionName.toLowerCase()) {
isThumbImage = true; variantImageShowed = true; } } } const variantType =
"button"; const thumbStyle = "image_with_text"; return ` ${optionName}: 
${option.values.map((value, idx) => { const selected =
data.selectedValues[optionName] == value ? 'checked' : ''; let thumbImage =
null; if (isThumbImage) { const variants = currentProduct.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('')}
${optionName}
${option.values.map(value => { const selected = data.selectedValues[optionName]
== value ? 'selected' : ''; return `${value}` }).join('')}
` }).join(''); }()}
${data.originData && data.originData.value || data.value}

View Cart
${function(){ const productData = data.product; let product_change_event = '',
mouse_over_event = ' '; mouse_out_event = ''; const product_options =
productData.options.filter(Boolean) || []; for (let opt of product_options) {
product_change_event = product_change_event +
`quick-shop-selected-variant-${opt.name}.rerender(data=event.selectedValues.${opt.name});`;
mouse_out_event = mouse_out_event +
`quick-shop-selected-variant-${opt.name}.rerender(data=event.selectData.${opt.name});`;
mouse_over_event = mouse_over_event +
`@${opt.name}Mouseover="quick-shop-selected-variant-${opt.name}.rerender(data=event);"`;
} const selectedVariant = productData.variants.find(v => v.available) ||
productData.variants[0]; const statusLan = ((selectedVariant &&
!selectedVariant.available) || (!selectedVariant && !productData.available)) ?
"Sold out" : "Add to cart"; return `
${statusLan}

` }()}

${function(){ const currentSelectVariant = data.variant; const defaultVariant =
(data.product && data.product.variants && data.product.variants[0]); const
variantData = currentSelectVariant || defaultVariant || data; const retail_price
= variantData.retail_price || 0; return `
Retail
` }()} ${function(){ const wholesale_enabled = false; const qty = data.quantity
|| 1; const currentSelectVariant = data.variant; const defaultVariant =
(data.product && data.product.variants && data.product.variants[0]); const
productVariant =
{"id":"3d19f6d0-713c-43d4-9bfe-d66d8db75c28","product_id":"921c308e-61ad-4c95-a97b-3dfad51c8fac","title":"ONE
BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)-BUY
1","weight_unit":"kg","inventory_quantity":1000,"sku":"Q--1","barcode":"","position":1,"option1":"ONE
BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)","option2":"BUY
1","option3":"","note":"","image":null,"wholesale_price":[{"price":24.97,"min_quantity":1}],"weight":"0","compare_at_price":"39.99","price":"24.97","retail_price":"39.99","available":true,"url":"\/products\/car-interior-ambient-lights-contains-4-light-bars-dd7e953cf72d-8c69-4b5d-a9ea-46d1f3b2096394497168-4307-4ef6-ba6d-f1ce35900584?variant=3d19f6d0-713c-43d4-9bfe-d66d8db75c28","available_quantity":999999999,"options":[{"name":"Style","value":"ONE
BOX (4 LIGHT STRIPS WITH REMOTE CONTROL)"},{"name":"BUY MORE SAVE
MORE","value":"BUY 1"}],"off_ratio":38,"flashsale_info":[],"sales":0}; const
variantData = currentSelectVariant || defaultVariant || productVariant; const
wholesale_price = variantData.wholesale_price || []; if(wholesale_enabled &&
wholesale_price.length > 0) { let wholesaleIndex =
wholesale_price.findIndex(item => { return item.min_quantity > qty; });
if(wholesaleIndex < 0){ wholesaleIndex = wholesale_price.length - 1; }else
if(wholesaleIndex > 0){ wholesaleIndex = wholesaleIndex - 1; } const
wholesalePrice = wholesale_price[wholesaleIndex] || ''; return `

` }else { const price = variantData && variantData.price; return price !=
undefined ? `

` : ''; } }()}
${function() { let variantImageShowed = false; const currentProduct =
data.product; return (currentProduct.options || []).map((option, index) => {
const optionName = option.name || ''; const position = `option${index + 1}`; let
isThumbImage = false; if (currentProduct.need_variant_image &&
!variantImageShowed) { const variantNames = ["color"] || []; for (let i = 0, len
= variantNames.length; i < len; i++) { const name =
variantNames[i].toLowerCase(); if (name === optionName.toLowerCase()) {
isThumbImage = true; variantImageShowed = true; } } } const variantType =
"button"; const thumbStyle = "image_with_text"; return ` ${optionName}: 
${option.values.map((value, idx) => { const selected =
data.selectedValues[optionName] == value ? 'checked' : ''; let thumbImage =
null; if (isThumbImage) { const variants = currentProduct.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('')}
${optionName}
${option.values.map(value => { const selected = data.selectedValues[optionName]
== value ? 'selected' : ''; return `${value}` }).join('')}
` }).join(''); }()}
${data.originData && data.originData.value || data.value}
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
10% OFF 2nd item

Original text

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