www.comstylish.com
Open in
urlscan Pro
104.17.246.119
Public Scan
Submitted URL: https://gets.gift/b6pi0
Effective URL: https://www.comstylish.com/cart?stream_msg_no=80169-1730685272-2364
Submission: On November 05 via api from US — Scanned from DE
Effective URL: https://www.comstylish.com/cart?stream_msg_no=80169-1730685272-2364
Submission: On November 05 via api from US — Scanned from DE
Form analysis
4 forms found in the DOMGET /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=""
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="" 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 && product.options.length && product.options.length > 0) && data.config.variant_select_visible}"> <ljs-render manual="" layout="container" id="smart_cart_pop_variant_text_${product.id}"
template="smart_cart_pop_variant_text_template"></ljs-render> <svg id="smart_pop_variant-select-${product.id}" width="12" height="8" class="zb-ml-2" viewBox="0 0 12 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M6.00002 7.06738C6.19244 7.06775 6.38498 6.99453 6.5318 6.84772C6.54504 6.83447 6.55769 6.82086 6.56973 6.8069L11.1251 2.25152C11.418 1.95863 11.418 1.48375 11.1251 1.19086C10.8322 0.897968 10.3573 0.897968 10.0645 1.19086L6.00003 5.25529L1.9356 1.19086C1.64271 0.897968 1.16784 0.897968 0.874943 1.19086C0.58205 1.48375 0.58205 1.95863 0.874943 2.25152L5.43033 6.8069C5.44237 6.82086 5.45502 6.83447 5.46826 6.84772C5.61507 6.99453 5.8076 7.06775 6.00002 7.06738Z"
fill="#0A1533"></path>
</svg> </div> <ljs-lightbox layout="nodisplay" disable-unmount="" class="smart_cart_pop_lightbox_pc" id="smart_cart_pop_variant_modal_${product.id}" @close="smart_pop_variant-select-${product.id}.toggleClass(class=zb-rotate-180);">
<div id="smart_cart_pop_variant_${product.id}_pc" class="zb-hidden"><ljs-variants id="smart_cart_pop_variants_${product.id}"
class="md:!zb-absolute md:zb-top-[50px] md:zb-w-full md:zb-left-0 md:zb-z-30 md:zb-bg-white zb-max-h-[280px] zb-overflow-y-auto md:zb-shadow-pop" layout="container" template="smart_cart_pop_variant_template"
onclick="event.stopPropagation()" disabled-dj-event="" interference=""> </ljs-variants></div>
</ljs-lightbox>
</div>
<div class="zb-mt-3"> <button product-id="${product.id}" id="smart_cart_pop_atc_btn_${product.id}"
class="zb-flex zb-items-center zb-justify-center zb-w-full zb-text-white zb-py-[10px] zb-h-9 zb-text-xs zb-font-normal zb-border-none zb-rounded-[4px] smart_cart_pop_atc_btn_bg" type="button" role="addToCart"
@tap="smart_cart_pop_loading_${product.id}.toggleClass(class=zb-hidden);smart_cart_pop_atc_${product.id}.toggleClass(class=zb-hidden);smart_cart_pop_atc_btn_${product.id}.toggleClass(class=zb-pointer-events-none);custom-func.addATCHook(activity_id='${data.id}',ifb='${product.ifb}',cfb='${product.cfb}',scm='${product.scm || data.scm}',ssp='${data.ssp}',spm='${data.spmBase}.${productIndex}')">
<ljs-render layout="container" id="smart_cart_pop_atc_${product.id}" template="smart_cart_pop_atc_template" mamual="" class="notranslate"> </ljs-render>
<div id="smart_cart_pop_added_${product.id}" class="zb-hidden"><span class="zb-flex zb-justify-center zb-gap-1"><svg width="14" height="15" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M8 16.5006C3.58171 16.5006 0 12.9183 0 8.5C0 4.08171 3.58171 0.5 8 0.5C12.4183 0.5 16 4.08171 16 8.5C16 12.9183 12.4183 16.5006 8 16.5006ZM8 2.04344C4.21314 2.04344 1.54287 4.71371 1.54287 8.50057C1.54287 12.2874 4.21314 14.9577 8 14.9577C11.7869 14.9577 14.4571 12.2874 14.4571 8.50057C14.4571 4.71371 11.7869 2.04344 8 2.04344ZM7.26057 11.1909L7.12229 11.3286L7.09543 11.3017C7.02286 11.336 6.94286 11.3577 6.85714 11.3577C6.73543 11.3577 6.62857 11.3109 6.536 11.2463L6.52229 11.2594L6.45371 11.1909C6.45314 11.1903 6.45314 11.1903 6.45257 11.1897L4.09771 8.83486L4.90629 8.02686L6.85714 9.97771L11.1629 5.67143L11.9714 6.48L7.26171 11.1897C7.26114 11.1903 7.26114 11.1903 7.26057 11.1909Z"
fill="white"></path>
</svg>Added</span></div>
<div id="smart_cart_pop_loading_${product.id}" class="zb-hidden">
<div class="smart_cart_pop_loading"></div>
</div>
</button> </div>
</div>
</div>
</div>
<div id="smart_cart_pop_variant_${product.id}_mobile" class="zb-hidden md:zb-hidden"><ljs-variants id="smart_cart_pop_variants_${product.id}"
class="md:!zb-absolute md:zb-top-[50px] md:zb-w-full md:zb-left-0 md:zb-z-30 md:zb-bg-white zb-max-h-[280px] zb-overflow-y-auto md:zb-shadow-pop" layout="container" template="smart_cart_pop_variant_template" onclick="event.stopPropagation()"
disabled-dj-event="" interference=""> </ljs-variants></div>
</form>
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
* 📣📣📣Comstylish joins hands with PayPal to give back to new and old users for a limited time. Pay with PayPal and enjoy an additional 15% discount when you spend $150 or more. (Can be used together with store discount codes, the more you buy, the more you save) * 📣📣📣Comstylish joins hands with PayPal to give back to new and old users for a limited time. Pay with PayPal and enjoy an additional 15% discount when you spend $150 or more. (Can be used together with store discount codes, the more you buy, the more you save) * 📣📣📣Comstylish joins hands with PayPal to give back to new and old users for a limited time. Pay with PayPal and enjoy an additional 15% discount when you spend $150 or more. (Can be used together with store discount codes, the more you buy, the more you save) * 📣📣📣Comstylish joins hands with PayPal to give back to new and old users for a limited time. Pay with PayPal and enjoy an additional 15% discount when you spend $150 or more. (Can be used together with store discount codes, the more you buy, the more you save) Powered by Google Übersetzer 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 EUR * United States Dollars (USD) * Euro (EUR) * United Kingdom Pounds (GBP) * Canadian Dollars (CAD) * Australian Dollars (AUD) * 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) * 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 * Iraqi Dinar COMSTYLISH | EVERYDAY CASUAL WEAR BRANDS Search 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 EUR * United States Dollars (USD) * Euro (EUR) * United Kingdom Pounds (GBP) * Canadian Dollars (CAD) * Australian Dollars (AUD) * 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) * 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 * Iraqi Dinar Search Search Account * Log in * Create an account 1 Cart Close * WOMEN * WOMEN * FEATURED * FEATURED * 🎃Halloween * Christmas * Thanksgiving Day * Kölner Karneval * Forest * Animal * Faith * Japanese Art * Mental Health * Western Style * National Style * Magical Ocean * Slogan * Tops * Tops * Shirts * T-Shirts * Tank Tops * Loose Blouse * Hoodies&Sweatshirt * Sweaters & Cardigans * Outerwear * Bottoms * Bottoms * Skirts * Pants * Jeans * Leggings * Dresses * Jumpsuits * Sets * Accessories * Accessories * Acc * Shoes * Socks * Cap * Scarf * Bag * NEW ARRIVALS * MEN * MEN * FEATURED * FEATURED * 🎃Halloween * Christmas * Faith * Veterans Day * Kölner Karneval * Japanese Art * Magical Ocean * Viking * Reggae * CATEGORIES * CATEGORIES * Shirts * T-Shirts * Polo Shirt * Tank Tops * Bottoms * Sweatshirt&Hoodie * Cardigan * Sweaters * Outerwear * Sets * Sets * Shirt Sets * Accessories * Accessories * Acc * Cap * NEW ARRIVALS * Household Products * Household Products * Blanket * Pillow * Carpet * Bath Towel * Shower Curtain * Apron * Tablecloths * BEST SELLERS * BEST SELLERS * WOMEN'S BEST SELLERS * MEN'S BEST SELLERS * NEW ARRIVALS * Christmas * Christmas * Women's Collection * Men's Collection * Linen Clothing * Linen Clothing * WOMEN'S LINEN * MEN'S LINEN * Japanese Art Collection * Japanese Art Collection * Women's Collection * Men's Collection * Plants * Animals * Cap Log in 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 EUR * United States Dollars (USD) * Euro (EUR) * United Kingdom Pounds (GBP) * Canadian Dollars (CAD) * Australian Dollars (AUD) * 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) * 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 * Iraqi Dinar * WOMEN * FEATURED 🎃Halloween Christmas Thanksgiving Day Kölner Karneval Forest Animal Faith Japanese Art Mental Health Western Style National Style Magical Ocean Slogan * Tops Shirts T-Shirts Tank Tops Loose Blouse Hoodies&Sweatshirt Sweaters & Cardigans Outerwear * Bottoms Skirts Pants Jeans Leggings * Dresses * Jumpsuits * Sets * Accessories Acc Shoes Socks Cap Scarf Bag * NEW ARRIVALS * MEN * FEATURED 🎃Halloween Christmas Faith Veterans Day Kölner Karneval Japanese Art Magical Ocean Viking Reggae * CATEGORIES Shirts T-Shirts Polo Shirt Tank Tops Bottoms Sweatshirt&Hoodie Cardigan Sweaters Outerwear * Sets Shirt Sets * Accessories Acc Cap * NEW ARRIVALS * Household Products Blanket Pillow Carpet Bath Towel Shower Curtain Apron Tablecloths * BEST SELLERS WOMEN'S BEST SELLERS MEN'S BEST SELLERS * NEW ARRIVALS * Christmas Women's Collection Men's Collection * Linen Clothing WOMEN'S LINEN MEN'S LINEN * Japanese Art Collection Women's Collection Men's Collection * Plants * Animals * Cap * More links Japanese Art Collection Plants Animals Cap Top searched SALE COMSTYLISH WILD FLOWERS OIL PAINTING ART COZY KNIT HOODED CARDIGAN (21) €34.85 €42.19 Save 17% COMSTYLISH WOMEN'S CHRISTMAS COLORFUL CHRISTMAS TREE PRINT CASUAL SWEATSHIRT (15) €22.92 COMSTYLISH FUZZY GOLDEN DOODLE DOG FELT COZY KNIT SWEATER (52) €29.34 SALE COMSTYLISH CASUAL LOOSE COLORFUL SWEATER CARDIGAN (17) €26.59 €34.85 Save 24% COMSTYLISH FUZZY DOG PLUSH PATCHWORK KNIT SWEATER (19) €28.43 SALE COMSTYLISH FUNNY SQUIRREL LIGHTS PRINT SWEATSHIRT (270) from €14.66 €22.92 Save 36% Home / My cart Add €44.04 more to get 1 free gift(s) View the GIFT OFFER CART * Comstylish Fuzzy Golden Doodle Dog Felt Cozy Knit Sweater Color: Coffee Size: M Remove €29.34 GOES GREAT WITH * SALE COMSTYLISH WILD FLOWERS OIL PAINTING ART COZY KNIT HOODED CARDIGAN (21) €34.85 €42.19 Save 17% * COMSTYLISH WOMEN'S CHRISTMAS COLORFUL CHRISTMAS TREE PRINT CASUAL SWEATSHIRT (15) €22.92 * SALE COMSTYLISH CASUAL LOOSE COLORFUL SWEATER CARDIGAN (17) €26.59 €34.85 Save 24% * COMSTYLISH FUZZY DOG PLUSH PATCHWORK KNIT SWEATER (19) €28.43 Coupon code Apply Add order note Spend €33.95 more and get free shipping! 46.36% Subtotal €29.34 Taxes and shipping calculated at checkout Check out Continue shopping ${function(){ const rules = data.data.rules; return ` ` }()} You May Also Like * Comstylish Vintage Floral Print V-Neck Long Sleeved Blouse €22.92 €26.59 Quick Shop * Comstylish Funny Squirrel Lights Print Sweatshirt €14.66 €22.92 Quick Shop * Comstylish Vintage Japanese Art Flower Print V-Neck Loose Blouse €26.59 Quick Shop * Comstylish Winter Funny Cute Wonderland Clothing Floral Cat Printed Casual Sweatshirt €22.92 Quick Shop * Comstylish 3/4 Sleeve Round Neck Cotton and Linen T-Shirt €20.17 €25.67 Quick Shop * Comstylish Elegant Violet Wildflower Embroidery Art Comfy T Shirt €18.33 Quick Shop * Comstylish Creative Cat Piercing Stud Earrings Quick Shop * Comstylish Cherry Blossom Japanese Flowy Midi Dress Quick Shop * Comstylish Santa Claus Print Crew Neck Casual Sweatshirt Quick Shop * Comstylish St. Patrick's Day Shamrock Print Sweatshirt Quick Shop * Comstylish Vintage Floral Embroidered Lace Hem Linen Blend Maxi Dress Quick Shop * Comstylish Flying Bees Embroidery Pattern Cozy Knit Sweater Quick Shop * Comstylish Funny Alpaca Felt Art Cozy Knit Sweater Quick Shop * Comstylish Women's Dragonfly Print Casual Shirt Quick Shop * Japanese Art Painting Pattern Cozy Flowy Tunic Quick Shop * Comstylish Women'S Retro Floral Art Print Casual Cotton Linen Shirt Quick Shop * Colorful Spring Cats Pattern Cozy Hooded Cardigan Quick Shop * Comstylish Roosters Embroidery Pattern Cozy Knit Sweater Quick Shop * Comstylish Christmas Santa Claus Jewel Art Cozy Knit Sweater Quick Shop * Comstylish Vintage Dandelion Crystal Necklace Quick Shop * Comstylish Pansy Floral Embroidery Pattern Cozy Hooded Cardigan Quick Shop * Comstylish Hippie Guitar Lake Whisper Words Of Wisdom Let It Be Print Sweatshirt Quick Shop * Comstylish Elegant Christmas Tree Jewel Art Cozy Knit Sweater Quick Shop * Comstylish Border Collie & Sheep Landscape Felt Art Cozy Sweater Quick Shop * Comstylish Van Gogh Art Mini Coin Purse Quick Shop * Comstylish Women's Simple Linen Blend Elastic Waist Casual Pants Quick Shop * Comstylish Japanese Art Crane Print V-Neck Loose Blouse Quick Shop * Comstylish Fuzzy Golden Doodle Dog Felt Cozy Knit Hooded Sweater Quick Shop * Comstylish Women's Merry Christmas Casual Knitted Sweater Quick Shop * Comstylish Lovely Corgi Dog Felt Cozy Knit Sweater Quick Shop * Comstylish Forest Aurora Felt Painting Cozy Knit Sweater Quick Shop * Comstylish Pink Knitted Pattern Icelandic Cozy Sweater Quick Shop * Comstylish Cute Sherlock Dog Felt Cozy Knitted Sweater Quick Shop * Comstylish Lovely Black Pug Dog Felt Cozy Knit Sweater Quick Shop * Comstylish White Pom Dog Plush Cozy Knit Sweater Quick Shop * Comstylish Dog Print Turtleneck Knit Cozy Sweater Quick Shop * Comstylish Christmas Tree Print Cozy Knit Sweater Quick Shop * Comstylish Whale Sea Waves Lino Art Knit Cozy Turtleneck Sweater Quick Shop * Comstylish Dachshund Dog Crochet Pattern Cozy Knit Sweater Quick Shop * Comstylish Dachshund Dog Embroidery Cozy Knit Sweater Quick Shop * Comstylish Christmas Corgi Dog Snowflakes Embroidered Cozy Sweater Quick Shop * Comstylish Vintage Flowers Oil Painting Art Cozy Knit Hooded Cardigan Quick Shop * Comstylish Men's Rock And Roll Punk Santa Print Knit Sweater Quick Shop * Comstylish Christmas Corgi Dog Felt Art Cozy Knit Sweater Quick Shop * Comstylish Cute Dog Embroidery Cozy Knit Sweater Quick Shop * Comstylish Christmas Print Knitted Pullover Sweater Quick Shop * Comstylish Christmas Snowflake Pattern Cozy Knit Sweater Quick Shop * Comstylish Christmas Elk Print Cozy Knit Pullover Sweater Quick Shop * Comstylish Women's Merry Christmas Casual Knitted Sweater Quick Shop * Comstylish Dog Felt Art Knit Cozy Sweater Quick Shop * Comstylish Christmas Cat Print Turtleneck Knit Cozy Sweater Quick Shop * Comstylish Men's Orange Cat Floral Art Print Casual Knit Crew Neck Sweater Quick Shop * Comstylish Cute Dog Christmas Art Print Knit Cozy Sweater Quick Shop * Comstylish Dog Floral Embroidery Pattern Cozy Knit Sweater Quick Shop * Comstylish Colorful Dog Embroidery Art Cozy Sweater Quick Shop * Comstylish Vintage Black Pug Dog Knit Pattern Cozy Sweater Quick Shop * Comstylish Funny Lovely Pug Dog Wool Puppy Embroidery Art Applique Cozy Sweater Quick Shop * Comstylish Christmas Cats Embroidery Pattern Cozy Knit Sweater Quick Shop * Comstylish Cute Crowded Cats Knit Art Pattern Cozy Sweater Quick Shop * Comstylish Lovely Pug Dog Felt Art Cozy Knit Cardigan Quick Shop * Comstylish Vintage Christmas Wiener Dog Knit Warm Sweater Quick Shop * Comstylish Vintage Hat Pumpkin Embroidery Art Cozy Knit Sweater Quick Shop * Comstylish Christmas Dog Embroidered Art Cozy Sweater Quick Shop * Comstylish Black Cats Embroidery Cozy Knit Sweater Quick Shop * Comstylish Vintage Christmas Tree Art Knitted Pattern Sweater Quick Shop * Comstylish Christmas Family Knitted Print Cozy Warm Sweater Quick Shop * Comstylish Women's Merry Christmas Casual Knitted Sweater Quick Shop * Comstylish Vintage Christmas Tree Art Knitted Pattern Printed Sweater Cardigan Jacket Quick Shop * Comstylish Colorful Cats Embroidery Pattern Cozy Knit Sweater Quick Shop * Comstylish Mexican Day Of The Dead Holiday Skull Art Knitted Sweater Quick Shop * Comstylish Women's Merry Christmas Casual Knitted Sweater Quick Shop * Comstylish Purple Violet Wildflower Embroidered Cozy Knit Sweater Quick Shop * Comstylish Lovely Bunny & Carrot Cable Knit Cozy Fleece Socks Quick Shop * Comstylish Funny Black Pug Dog Felt Applique Cozy Sweater Quick Shop * Comstylish Women's Merry Christmas Casual Knitted Sweater Quick Shop * Comstylish Colorful Cats Knit Art Cozy Hooded Cardigan Quick Shop * Comstylish Thanksgiving Turkey Embroidery Art Cozy Knit Sweater Quick Shop * Comstylish Dog Print Knit Cozy Cardigan Quick Shop * Comstylish Vintage Mexican Day Of The Dead Music Skull Art Knitted Warm Sweater Cardigan Quick Shop * Comstylish Floral Print Knit Cozy Cardigan Quick Shop * Comstylish Christmas Red Wine Glass Embroidery Pattern Cozy Knit Sweater Quick Shop * Comstylish Christmas Tree Print Long Sleeved Knit Cozy Cardigan Quick Shop * Comstylish Women's Merry Christmas Casual Knitted Sweater Quick Shop * Comstylish Christmas Lights Tree Embroidery Pattern Cozy Knit Sweater Quick Shop * Comstylish Cute Bow Dog Women's Crew Neck Sweater Quick Shop * Comstylish Men's Leaves Embroidery Print Casual Knit Crew Neck Sweater Quick Shop * Comstylish Vintage Christmas Elk Snowflake Jacquard Graphic Knitted Sweater Quick Shop * Comstylish Christmas Bulldog Embroidered Art Cozy Sweater Quick Shop * Comstylish Vintage Tribal Horse Racing Print Knitted Sweater Quick Shop * Comstylish Men's Christmas Tree Snowflakes Felt Embroidery Print Casual Knit Crew Neck Sweater Quick Shop * Comstylish Christmas Pet Dog Embroidered Women's Crew Neck Sweater Quick Shop * Comstylish The Scottish Highlands Print Casual Knit Cozy Cardigan Quick Shop * Comstylish Vintage Santa Claus Knitted Warm Turtleneck Sweater Quick Shop * Comstylish Kolner Karneval Casual Knitted Sweater Cardigan Quick Shop * Comstylish Women's Vintage Christmas Pattern Knitted Sweater Quick Shop * Comstylish Lovely Pug Dog Felt Art Cozy Turtleneck Sweater Quick Shop * Comstylish Dog Portrait Felt Art Cozy Knit Sweater Quick Shop * Comstylish Christmas Aurora Night Art Knitted Sweater Quick Shop * Comstylish Border Collie Dog Fuzzy Felt Art Washed Cap Quick Shop * Comstylish Eating Pizza Dog Print Apron 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("") } ` })()} Sign up to receive special offers, giveaways and one-time deals. — Discount code:: COMST Subscribe Thanks for subscribing COMPANY INFO * About Comstylish * Privacy Policy * Terms & Conditions HELP & SUPPORT * Contact Us * Delivery & Shipping * Return Policy * Payment Methods Follow us We Accept Visa Mastercard Maestro Diners Club Discover PayPal Apple Pay Google Pay © 2024 Comstylish | Everyday Casual Wear Brands 15%OFF for any order,CODE: STRCAR× 111 GIFTS POINTS 111 $0.00 1 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.C_SETTINGS.routes.root + "/api/possum/recommend_activities", { method: "POST", headers: { "Content-Type": "application/json", "store-id": window.C_SETTINGS.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.C_SETTINGS.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.C_SETTINGS.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.C_SETTINGS.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.C_SETTINGS.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.C_SETTINGS.routes.root || ''}/api/bundle-sales/cart`, { method: 'POST', headers: { 'Content-Type': 'application/json; charset=UTF-8', 'store-id': window.C_SETTINGS.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} `; })()} See detail $0.00 Ends in: 0 0 : 0 0 : 0 $0.00 Buy now Buy now Originaltext Diese Übersetzung bewerten Mit deinem Feedback können wir Google Übersetzer weiter verbessern