www.ilumihome.com Open in urlscan Pro
104.17.247.119  Public Scan

Submitted URL: http://www.ilumihome.com/
Effective URL: https://www.ilumihome.com/
Submission: On July 09 via manual from DK — Scanned from DK

Form analysis 7 forms found in the DOM

GET /search

<form action="/search" method="get" class="tw-max-w-[250px] tw-mr-11">
  <div tabindex="-1" class="tw-flex tw-relative header__search">
    <input autocomplete="off" name="q" type="text"
      class="tw-w-full tw-flex-1 tw-h-10 tw-py-0 tw-pl-[14px] tw-pr-13 tw-bg-header-search tw-text-current tw-text-sm tw-leading-none tw-rounded-global  tw-border tw-border-solid tw-border-header  tw-placeholder-current header__search-input"
      placeholder="Search...">
    <button type="submit" class="tw-flex tw-items-center tw-px-[14px] tw-m-0 tw-bg-transparent tw-text-current tw-border-none tw-outline-none tw-cursor-pointer tw-h-full tw-absolute tw-right-0 header__search-icon" tabindex="-1">
      <svg class="icon-search " width="24" height="24" xmlns="http://www.w3.org/2000/svg">
        <path d="M11.16 1a9.16 9.16 0 1 1 0 18.322A9.16 9.16 0 0 1 11.16 1zm0 1.629a7.532 7.532 0 1 0 0 15.064 7.532 7.532 0 0 0 0-15.064zm5.465 14.148 1.152-1.152L23 20.848 21.848 22l-5.223-5.223z" fill="currentColor"></path>
      </svg>
    </button>
    <button type="button"
      class="tw-hidden tw-justify-center tw-items-center tw-pr-2 tw-pl-6 tw-m-0 tw-bg-transparent tw-text-header-color tw-border-none tw-outline-none tw-cursor-pointer header__search-close  lg:tw-absolute lg:tw--right-11 lg:tw-h-full ">
      <svg class="icon-close-small " width="14" height="14" xmlns="http://www.w3.org/2000/svg">
        <path d="m3 3 8.485 8.485m0-8.485L3 11.485" stroke="currentColor" stroke-width="1.6" stroke-linecap="square"></path>
      </svg>
    </button>
  </div>
</form>

GET /search

<form action="/search" method="get" class="">
  <div tabindex="-1" class="tw-flex tw-relative header__search">
    <input autocomplete="off" name="q" type="text"
      class="tw-w-full tw-flex-1 tw-h-10 tw-py-0 tw-pl-[14px] tw-pr-13 tw-bg-header-search tw-text-current tw-text-sm tw-leading-none tw-rounded-global  tw-border tw-border-solid tw-border-header  tw-placeholder-current header__search-input"
      placeholder="Search...">
    <button type="submit" class="tw-flex tw-items-center tw-px-[14px] tw-m-0 tw-bg-transparent tw-text-current tw-border-none tw-outline-none tw-cursor-pointer tw-h-full tw-absolute tw-right-0 header__search-icon" tabindex="-1">
      <svg class="icon-search " width="24" height="24" xmlns="http://www.w3.org/2000/svg">
        <path d="M11.16 1a9.16 9.16 0 1 1 0 18.322A9.16 9.16 0 0 1 11.16 1zm0 1.629a7.532 7.532 0 1 0 0 15.064 7.532 7.532 0 0 0 0-15.064zm5.465 14.148 1.152-1.152L23 20.848 21.848 22l-5.223-5.223z" fill="currentColor"></path>
      </svg>
    </button>
    <button type="button"
      class="tw-hidden tw-justify-center tw-items-center tw-pr-2 tw-pl-6 tw-m-0 tw-bg-transparent tw-text-header-color tw-border-none tw-outline-none tw-cursor-pointer header__search-close  lg:tw-absolute lg:tw--right-11 lg:tw-h-full ">
      <svg class="icon-close-small " width="14" height="14" xmlns="http://www.w3.org/2000/svg">
        <path d="m3 3 8.485 8.485m0-8.485L3 11.485" stroke="currentColor" stroke-width="1.6" stroke-linecap="square"></path>
      </svg>
    </button>
  </div>
</form>

GET /search

<form action="/search" method="get" class="">
  <div tabindex="-1" class="tw-flex tw-relative header__search">
    <input autocomplete="off" name="q" type="text"
      class="tw-w-full tw-flex-1 tw-h-10 tw-py-0 tw-pl-[14px] tw-pr-13 tw-bg-header-search tw-text-current tw-text-sm tw-leading-none tw-rounded-global  tw-border tw-border-solid tw-border-header  tw-placeholder-current header__search-input"
      placeholder="Search...">
    <button type="submit" class="tw-flex tw-items-center tw-px-[14px] tw-m-0 tw-bg-transparent tw-text-current tw-border-none tw-outline-none tw-cursor-pointer tw-h-full tw-absolute tw-right-0 header__search-icon" tabindex="-1">
      <svg class="icon-search " width="24" height="24" xmlns="http://www.w3.org/2000/svg">
        <path d="M11.16 1a9.16 9.16 0 1 1 0 18.322A9.16 9.16 0 0 1 11.16 1zm0 1.629a7.532 7.532 0 1 0 0 15.064 7.532 7.532 0 0 0 0-15.064zm5.465 14.148 1.152-1.152L23 20.848 21.848 22l-5.223-5.223z" fill="currentColor"></path>
      </svg>
    </button>
    <button type="button"
      class="tw-hidden tw-justify-center tw-items-center tw-pr-2 tw-pl-6 tw-m-0 tw-bg-transparent tw-text-header-color tw-border-none tw-outline-none tw-cursor-pointer header__search-close  lg:tw-absolute lg:tw--right-11 lg:tw-h-full ">
      <svg class="icon-close-small " width="14" height="14" xmlns="http://www.w3.org/2000/svg">
        <path d="m3 3 8.485 8.485m0-8.485L3 11.485" stroke="currentColor" stroke-width="1.6" stroke-linecap="square"></path>
      </svg>
    </button>
  </div>
</form>

GET /search

<form action="/search" method="get" class="">
  <div tabindex="-1" class="tw-flex tw-relative header__search">
    <input autocomplete="off" name="q" type="text"
      class="tw-w-full tw-flex-1 tw-h-10 tw-py-0 tw-pl-[14px] tw-pr-13 tw-bg-header-search tw-text-current tw-text-sm tw-leading-none tw-rounded-global  tw-border tw-border-solid tw-border-header  tw-placeholder-current header__search-input"
      placeholder="Search...">
    <button type="submit" class="tw-flex tw-items-center tw-px-[14px] tw-m-0 tw-bg-transparent tw-text-current tw-border-none tw-outline-none tw-cursor-pointer tw-h-full tw-absolute tw-right-0 header__search-icon" tabindex="-1">
      <svg class="icon-search " width="24" height="24" xmlns="http://www.w3.org/2000/svg">
        <path d="M11.16 1a9.16 9.16 0 1 1 0 18.322A9.16 9.16 0 0 1 11.16 1zm0 1.629a7.532 7.532 0 1 0 0 15.064 7.532 7.532 0 0 0 0-15.064zm5.465 14.148 1.152-1.152L23 20.848 21.848 22l-5.223-5.223z" fill="currentColor"></path>
      </svg>
    </button>
    <button type="button" class="tw-hidden tw-justify-center tw-items-center tw-pr-2 tw-pl-6 tw-m-0 tw-bg-transparent tw-text-header-color tw-border-none tw-outline-none tw-cursor-pointer header__search-close ">
      <svg class="icon-close-small " width="14" height="14" xmlns="http://www.w3.org/2000/svg">
        <path d="m3 3 8.485 8.485m0-8.485L3 11.485" stroke="currentColor" stroke-width="1.6" stroke-linecap="square"></path>
      </svg>
    </button>
  </div>
</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 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

 * FREE INTERNATIONAL EXPRESS SHIPPING

 * FREE INTERNATIONAL EXPRESS SHIPPING

 * FREE INTERNATIONAL EXPRESS SHIPPING

 * FREE INTERNATIONAL EXPRESS SHIPPING


Leveret af Oversæt
English,Italiano,Français,Deutsch,svenska,Nederlands,Русский,norsk,Português,العربية,Español,Polski,čeština,Lietuvis,Latvietis,Suomalainen,Ελληνικά,Eestlane,dansk,Magyar,Romanian,Slovenščina,Український,Slovenská,Български,ไทย,한국어,Bahasa
Indonesia,Bahasa Melayu,Türkçe,Tiếng Việt,日本語
DKK
 * United States Dollars (USD)
 * Swiss Francs (CHF)
 * United Kingdom Pounds (GBP)
 * Euro (EUR)
 * Canadian Dollars (CAD)
 * Australian Dollars (AUD)
 * Norwegian Kroner (NOK)
 * Danish Kroner (DKK)
 * United Arab Emirates Dirham (AED)
 * Singapore Dollars (SGD)
 * Saudi Riyal (SAR)
 * Swedish Kronor (SEK)
 * Kuwaiti Dinar (KWD)
 * Israeli New Shekel (NIS)
 * New Zealand Dollars (NZD)
 * Hungarian Forint (HUF)
 * Croatian Kuna (HRK)
 * Qatari Rial (QAR)
 * Netherlands Antillean Guilder (ANG)
 * Afghan Afghani (AFN)
 * Albanian Lek (ALL)
 * Algerian Dinar (DZD)
 * Angolan Kwanza (AOA)
 * Argentine Pesos (ARS)
 * Armenian Dram (AMD)
 * Aruban Florin (AWG)
 * 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)
 * Colombian Peso (COP)
 * Comorian Franc (KMF)
 * Congolese franc (CDF)
 * Costa Rican Colones (CRC)
 * Czech Koruny (CZK)
 * 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)
 * Icelandic Kronur (ISK)
 * Indian Rupees (INR)
 * Indonesian Rupiah (IDR)
 * Jamaican Dollars (JMD)
 * Japanese Yen (JPY)
 * Jersey Pound (JEP)
 * Jordanian Dinar (JOD)
 * Kazakhstani Tenge (KZT)
 * Kenyan Shilling (KES)
 * Kyrgyzstani Som (KGS)
 * Laotian Kip (LAK)
 * Latvian Lati (LVL)
 * Lebanese Pounds (LBP)
 * Lesotho Loti (LSL)
 * Liberian Dollar (LRD)
 * Malagasy Ariary (MGA)
 * Macedonia Denar (MKD)
 * 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)
 * Nicaraguan Córdoba (NIO)
 * Nigerian Naira (NGN)
 * Omani Rial (OMR)
 * Pakistani Rupee (PKR)
 * Papua New Guinean Kina (PGK)
 * Paraguayan Guarani (PYG)
 * Peruvian Nuevo Sol (PEN)
 * Philippine Peso (PHP)
 * Polish Zlotych (PLN)
 * Romanian Lei (RON)
 * Russian Rubles (RUB)
 * Rwandan Franc (RWF)
 * Samoan Tala (WST)
 * Sao Tome And Principe Dobra (STD)
 * Serbian dinar (RSD)
 * Seychellois Rupee (SCR)
 * 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)
 * 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)
 * 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)


ILUMIHOME


English,Italiano,Français,Deutsch,svenska,Nederlands,Русский,norsk,Português,العربية,Español,Polski,čeština,Lietuvis,Latvietis,Suomalainen,Ελληνικά,Eestlane,dansk,Magyar,Romanian,Slovenščina,Український,Slovenská,Български,ไทย,한국어,Bahasa
Indonesia,Bahasa Melayu,Türkçe,Tiếng Việt,日本語
DKK
 * United States Dollars (USD)
 * Swiss Francs (CHF)
 * United Kingdom Pounds (GBP)
 * Euro (EUR)
 * Canadian Dollars (CAD)
 * Australian Dollars (AUD)
 * Norwegian Kroner (NOK)
 * Danish Kroner (DKK)
 * United Arab Emirates Dirham (AED)
 * Singapore Dollars (SGD)
 * Saudi Riyal (SAR)
 * Swedish Kronor (SEK)
 * Kuwaiti Dinar (KWD)
 * Israeli New Shekel (NIS)
 * New Zealand Dollars (NZD)
 * Hungarian Forint (HUF)
 * Croatian Kuna (HRK)
 * Qatari Rial (QAR)
 * Netherlands Antillean Guilder (ANG)
 * Afghan Afghani (AFN)
 * Albanian Lek (ALL)
 * Algerian Dinar (DZD)
 * Angolan Kwanza (AOA)
 * Argentine Pesos (ARS)
 * Armenian Dram (AMD)
 * Aruban Florin (AWG)
 * 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)
 * Colombian Peso (COP)
 * Comorian Franc (KMF)
 * Congolese franc (CDF)
 * Costa Rican Colones (CRC)
 * Czech Koruny (CZK)
 * 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)
 * Icelandic Kronur (ISK)
 * Indian Rupees (INR)
 * Indonesian Rupiah (IDR)
 * Jamaican Dollars (JMD)
 * Japanese Yen (JPY)
 * Jersey Pound (JEP)
 * Jordanian Dinar (JOD)
 * Kazakhstani Tenge (KZT)
 * Kenyan Shilling (KES)
 * Kyrgyzstani Som (KGS)
 * Laotian Kip (LAK)
 * Latvian Lati (LVL)
 * Lebanese Pounds (LBP)
 * Lesotho Loti (LSL)
 * Liberian Dollar (LRD)
 * Malagasy Ariary (MGA)
 * Macedonia Denar (MKD)
 * 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)
 * Nicaraguan Córdoba (NIO)
 * Nigerian Naira (NGN)
 * Omani Rial (OMR)
 * Pakistani Rupee (PKR)
 * Papua New Guinean Kina (PGK)
 * Paraguayan Guarani (PYG)
 * Peruvian Nuevo Sol (PEN)
 * Philippine Peso (PHP)
 * Polish Zlotych (PLN)
 * Romanian Lei (RON)
 * Russian Rubles (RUB)
 * Rwandan Franc (RWF)
 * Samoan Tala (WST)
 * Sao Tome And Principe Dobra (STD)
 * Serbian dinar (RSD)
 * Seychellois Rupee (SCR)
 * 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)
 * 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)
 * 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)


Search
Account
 * Log in
 * Create an account

0 Cart
Close



 * HOME
 * TABLE LAMPS
 * NIGHT LIGHTS
 * FLOOR LAMPS
 * OUTDOOR LIGHTS
 * WALL LIGHTS
 * CEILING LIGHTS
 * HELP
    * HELP
    * FAQs
    * Contact Us
    * About Us
    * Refund Policy
    * Shipping Policy

   Log in
   
   English,Italiano,Français,Deutsch,svenska,Nederlands,Русский,norsk,Português,العربية,Español,Polski,čeština,Lietuvis,Latvietis,Suomalainen,Ελληνικά,Eestlane,dansk,Magyar,Romanian,Slovenščina,Український,Slovenská,Български,ไทย,한국어,Bahasa
   Indonesia,Bahasa Melayu,Türkçe,Tiếng Việt,日本語
   DKK
    * United States Dollars (USD)
    * Swiss Francs (CHF)
    * United Kingdom Pounds (GBP)
    * Euro (EUR)
    * Canadian Dollars (CAD)
    * Australian Dollars (AUD)
    * Norwegian Kroner (NOK)
    * Danish Kroner (DKK)
    * United Arab Emirates Dirham (AED)
    * Singapore Dollars (SGD)
    * Saudi Riyal (SAR)
    * Swedish Kronor (SEK)
    * Kuwaiti Dinar (KWD)
    * Israeli New Shekel (NIS)
    * New Zealand Dollars (NZD)
    * Hungarian Forint (HUF)
    * Croatian Kuna (HRK)
    * Qatari Rial (QAR)
    * Netherlands Antillean Guilder (ANG)
    * Afghan Afghani (AFN)
    * Albanian Lek (ALL)
    * Algerian Dinar (DZD)
    * Angolan Kwanza (AOA)
    * Argentine Pesos (ARS)
    * Armenian Dram (AMD)
    * Aruban Florin (AWG)
    * 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)
    * Colombian Peso (COP)
    * Comorian Franc (KMF)
    * Congolese franc (CDF)
    * Costa Rican Colones (CRC)
    * Czech Koruny (CZK)
    * 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)
    * Icelandic Kronur (ISK)
    * Indian Rupees (INR)
    * Indonesian Rupiah (IDR)
    * Jamaican Dollars (JMD)
    * Japanese Yen (JPY)
    * Jersey Pound (JEP)
    * Jordanian Dinar (JOD)
    * Kazakhstani Tenge (KZT)
    * Kenyan Shilling (KES)
    * Kyrgyzstani Som (KGS)
    * Laotian Kip (LAK)
    * Latvian Lati (LVL)
    * Lebanese Pounds (LBP)
    * Lesotho Loti (LSL)
    * Liberian Dollar (LRD)
    * Malagasy Ariary (MGA)
    * Macedonia Denar (MKD)
    * 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)
    * Nicaraguan Córdoba (NIO)
    * Nigerian Naira (NGN)
    * Omani Rial (OMR)
    * Pakistani Rupee (PKR)
    * Papua New Guinean Kina (PGK)
    * Paraguayan Guarani (PYG)
    * Peruvian Nuevo Sol (PEN)
    * Philippine Peso (PHP)
    * Polish Zlotych (PLN)
    * Romanian Lei (RON)
    * Russian Rubles (RUB)
    * Rwandan Franc (RWF)
    * Samoan Tala (WST)
    * Sao Tome And Principe Dobra (STD)
    * Serbian dinar (RSD)
    * Seychellois Rupee (SCR)
    * 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)
    * 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)
    * 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)

 * HOME
 * TABLE LAMPS
 * NIGHT LIGHTS
 * FLOOR LAMPS
 * OUTDOOR LIGHTS
 * WALL LIGHTS
 * CEILING LIGHTS
 * HELP
   FAQs
   Contact Us
   About Us
   Refund Policy
   Shipping Policy
 * More links







WE'LL LIGHT THE WAY TO THE HOME YOU'LL LOVE

WE'LL LIGHT THE WAY TO THE HOME YOU'LL LOVE

SHOP NOW




LANGUAGE OF LIGHT

With our portable and dimmable lighting collection, you can carry each lamp from
room to room, just like a conversation in flow — setting the mood and guiding
the narrative.


COLLECTION LIST


TABLE LAMPS




OUTDOOR LIGHTS




NIGHT LIGHTS




WALL LIGHTS




CEILING LIGHTS




LIGHTING

BEST SELLERS

kr338.03
LED Fabric Wood Table Lamp
from kr338.03 kr613.98 Save 45%
kr476.01
Modern LED Mushroom Table Lamp
kr476.01 kr889.93 Save 47%
kr544.99
Modern Bud Macaron Table Lamp
kr544.99 kr1,027.90 Save 47%
kr544.99
LED Electroplated Metal Lantern
(3)
kr544.99 kr1,027.90 Save 47%
kr544.99
LED Crystal Wine Lamp
(10)
from kr544.99 kr1,027.90 Save 47%
kr338.03
Modern LED Cordless Table Lamp
(115)
from kr338.03 kr613.98 Save 45%
kr476.01
LED Silk Metal Table Lamp
(12)
kr476.01 kr889.93 Save 47%
kr544.99
LED Electroplated Metal Table Lamp
(2)
kr544.99 kr1,027.90 Save 47%
kr338.03
LED Fabric Wood Table Lamp
from kr338.03 kr613.98 Save 45%
kr476.01
Modern LED Mushroom Table Lamp
kr476.01 kr889.93 Save 47%
kr544.99
Modern Bud Macaron Table Lamp
kr544.99 kr1,027.90 Save 47%
kr544.99
LED Electroplated Metal Lantern
(3)
kr544.99 kr1,027.90 Save 47%
View more

 * CORDLESS FREEDOM
   
   For the past years, we have been designing and manufacturing rechargeable,
   battery-powered lamps for restaurants, hotels, architects and interior
   designers.

 * PROFESSIONAL LAMPS
   
   We craft original, elegant, long-lasting lamps that deliver exceptional light
   quality. Professional lamps for professional people all around the world.

 * RETRO & MODERN
   
   EMPTYOO reworks design icons from past masters and creates tomorrow’s
   classics in collaboration with contemporary designers, upholding the tenets
   of craftsmanship to produce lighting that meet modern needs for function,
   comfort and beauty.

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

` }()}
YOU MAY ALSO LIKE
 * LED Crystal Wine Lamp
   
   QUICK SHOP
 * LED Fabric Wood Table Lamp
   
   QUICK SHOP
 * LED Electroplated Metal Table Lamp
   
   QUICK SHOP
 * Crystal Metal Cordless Table Lamp
   
   QUICK SHOP
 * Modern LED Cordless Table Lamp
   
   QUICK SHOP
 * 3D Vision LED Table Lamp
   
   QUICK SHOP
 * Creative LED Banana Lamp
   
   QUICK SHOP
 * Modern Bud Macaron Table Lamp
   
   QUICK SHOP
 * LED Silk Metal Table Lamp
   
   QUICK SHOP
 * Sunset Ambient Night Light
   
   QUICK SHOP
 * Modern Luxurious Crystal Bag Lamp
   
   QUICK SHOP
 * Dynamic Smart Bluetooth Neon Lighthouse
   
   QUICK SHOP
 * LED Crystal Vase Table Lamp
   
   QUICK SHOP
 * Modern LED Mushroom Table Lamp
   
   QUICK SHOP
 * LED Crystal Cordless Table Lamp
   
   QUICK SHOP
 * LED Electroplated Metal Lantern
   
   QUICK SHOP
 * Modern Swing Candle Light
   
   QUICK SHOP
 * Retro LED Metal Cordless Table Lamp
   
   QUICK SHOP
 * Creative Wooden Robot Table Lamp
   
   QUICK SHOP
 * Modern SpiralTable Lamp
   
   QUICK SHOP
 * LED Minimalist Cordless Table Lamp
   
   QUICK SHOP
 * LED Creative Cordless UFO Table Lamp
   
   QUICK SHOP
 * 4 in 1 Portable Magnetic Desk Lamp
   
   QUICK SHOP
 * Crystal Metal Cordless Table Lamp
   
   QUICK SHOP
 * Elegant Feather Lamp
   
   QUICK SHOP
 * LED Retro Metal Mushroom Table Lamp
   
   QUICK SHOP
 * 2024 New Pocket Lamp
   
   QUICK SHOP
 * LED Modern Space Table Lamp
   
   QUICK SHOP
 * Medieval Electroplated Table Lamp
   
   QUICK SHOP
 * Mini Metal Cordless Table Lamp
   
   QUICK SHOP
 * LED Dimmable Cordless Umbrella Shape Table Lamp
   
   QUICK SHOP
 * LED Metal Cordless Table Lamp
   
   QUICK SHOP
 * Crystal Jellyfish Table Lamp
   
   QUICK SHOP
 * Pidrop
   
   QUICK SHOP
 * Striped Crystal Table Lamp
   
   QUICK SHOP
 * Modern Small Square Aisle Wall Light
   
   QUICK SHOP
 * LED Crystal Lantern
   
   QUICK SHOP
 * LED Aluminum Cordless Table Lamp
   
   QUICK SHOP
 * Modern Little Golden Man LED Night Light
   
   QUICK SHOP
 * 360° Rotatable Wooden LED Wall Light
   
   QUICK SHOP
 * Sunset Night Light
   
   QUICK SHOP
 * 10 Port 60W Smart USB Charger
   
   QUICK SHOP
 * Intelligent Body Sensor Rechargeable Night Light Stick
   
   QUICK SHOP
 * LED Vintage Kerosene Lamp
   
   QUICK SHOP
 * Modern Macaron Chandelier
   
   QUICK SHOP
 * Minimalist Rechargeable Table Lamp
   
   QUICK SHOP
 * LED Polka Dot Crystal Table Lamp
   
   QUICK SHOP
 * Modern Outdoor Waterproof Strip Wall Light
   
   QUICK SHOP
 * Water Drop Crystal Table Lamp
   
   QUICK SHOP
 * LED Portable Ball Table Lamp
   
   QUICK SHOP
 * Candlelight Ambient Night Light
   
   QUICK SHOP
 * Dandelion Crystal Ball Night Light
   
   QUICK SHOP
 * Portable 360° Rotating Rechargeable Wall Light
   
   QUICK SHOP
 * LED Intelligent Body Sensor Light
   
   QUICK SHOP
 * Wireless Wine Bottle Light Head
   
   QUICK SHOP
 * Magic Door - Nordic Dimmable Night Light With Bluetooth Speaker
   
   QUICK SHOP
 * LED Rechargeable Outdoor Portable Camping Night Light
   
   QUICK SHOP
 * Modern Creative Crystal Ceiling Light
   
   QUICK SHOP
 * LED Retro Kerosene Lamp
   
   QUICK SHOP
 * LED Creative Animal Decorative Light
   
   QUICK SHOP
 * 360° Rotating Magnetic Cordless Wall Light
   
   QUICK SHOP
 * Outdoor LED Solar Dandelion Lights(2 Packs)
   
   QUICK SHOP
 * Modern LED 360° Rotation Crescent Wall Light
   
   QUICK SHOP
 * Modern Creative Golden Geometric Wall Light
   
   QUICK SHOP
 * Macaron Color Block Chandelier
   
   QUICK SHOP
 * LED Cabinet Sensor Night Light
   
   QUICK SHOP
 * Outdoor LED Portable Camping Night Light
   
   QUICK SHOP
 * Smart Sensor Circle Night Light
   
   QUICK SHOP
 * Creative Mushroom Table Lamp
   
   QUICK SHOP
 * Vintage Wood Art Macaron Belt Wall Light
   
   QUICK SHOP
 * 360° Rotating Intelligent Sensor Rechargeable Night Light
   
   QUICK SHOP
 * 360° Rotatable Magnetic LED Wooden Wall Light
   
   QUICK SHOP
 * LED Tulip Night Light
   
   QUICK SHOP
 * LED Solar Bee Light(2 Packs)
   
   QUICK SHOP
 * Transparent LED Portable USB Night Light
   
   QUICK SHOP
 * Modern UFO Chrome Chandelier
   
   QUICK SHOP
 * Modern Creative Lava Chandelier
   
   QUICK SHOP
 * Modern LED Rechargeable Floor Lamp
   
   QUICK SHOP
 * LED Retro Fabric Cordless Table Lamp
   
   QUICK SHOP
 * Modern Crystal Wall Light
   
   QUICK SHOP
 * LED Candle Cordless Table Lamp
   
   QUICK SHOP
 * Round Glass Gold Wall Light
   
   QUICK SHOP
 * Creative Mini 360° LED Folding Night Light
   
   QUICK SHOP
 * Modern Minimalist Table Lamp
   
   QUICK SHOP
 * Simple Wooden Round Ceiling Light
   
   QUICK SHOP
 * LED Glass Wiggle Candle Light(3PCS)
   
   QUICK SHOP
 * Simple Macaron Wall Light
   
   QUICK SHOP
 * Retro Solid Wood Table Lamp
   
   QUICK SHOP
 * Outdoor Solar LED Garden Moon Light
   
   QUICK SHOP
 * Double Mushroom Cordless Table Lamp
   
   QUICK SHOP
 * Creative Rechargeable Induction Sucker Night Light
   
   QUICK SHOP
 * Outdoor Portable Camping Lantern
   
   QUICK SHOP
 * Toast Emotional Light
   
   QUICK SHOP
 * Supplementary payment-please buy under the guidance of the staff, please do
   not buy without authorization, thank you
   
   QUICK SHOP
 * LED Creative Handmade Bread Night Light
   
   QUICK SHOP
 * Portable Outdoor LED Wooden Camping Light
   
   QUICK SHOP
 * LED Cream Glass Table Lamp
   
   QUICK SHOP
 * LED Lunar Mirror Light
   
   QUICK SHOP
 * LED Waterproof Solar Sunflower Light(2 Packs)
   
   QUICK SHOP
 * Rechargeable Smiley Night Light
   
   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("") }
` })()}

 * FREE SHIPPING
   
   Free international express shipping

 * HAND SELECTED
   
   Top trending designs of the highest quality and best value

 * SAFE & SECURE CHECKOUT
   
   We value your privacy and enjoy our secure checkout

 * MONEY BACK GUARANTEE
   
   30 days money back guarantee

CUSTOMER REVIEWS

4.9


Total reviews: 199
Newest
Newest

Most liked
Highest ratings
Lowest ratings

Newest

Most liked
Highest ratings
Lowest ratings


Show more Wow you reached the bottom



Get 10% off your first order. Sign up now to receive exclusive email offers and
promotion notifications.
SUBSCRIBE
Thanks for subscribing. Code: THANK10

CUSTOMER SUPPORT
 * Shipping Policy
 * Refund Policy
 * Site Security
 * Privacy Policy
 * Terms of Service
 * Payment Method
 * INTELLECTUAL PROPERTY RIGHTS

CUSTOMER SERVICE
 * FAQs
 * About Us
 * Contact Us
 * Accessibility

GET IN TOUCH
Contact Info

Monday-Friday 10am-7pm

FOLLOW US


© 2024 ILUMIHOME ALL RIGHTS RESERVED



SIGN UP AND SAVE

Entice customers to sign up for your mailing list with discounts or exclusive
offers. Include an image for extra impact.
SUBSCRIBE
Thanks for subscribing. Code: THANK10



×

Don't leave without taking discount
UP TO 50% OFF
On your first order
Invalid email

Continue
NO,I'LL PAY FULL PRICE
* Ihre persönlichen Daten werden strengstens vor Offenlegung geschützt.
By signing up you agree with our Privacy Policy.


111
GIFTS

POINTS



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}
`; })()}
Oprindelig tekst

Bedøm denne oversættelse
Din feedback bruges til at hjælpe med at forbedre Google Oversæt