www.comstylish.com
Open in
urlscan Pro
104.17.246.119
Public Scan
Submitted URL: https://gets.gift/b4KuU
Effective URL: https://www.comstylish.com/cart?stream_msg_no=80169-1729035657-3861
Submission: On November 01 via api from US — Scanned from DE
Effective URL: https://www.comstylish.com/cart?stream_msg_no=80169-1729035657-3861
Submission: On November 01 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 3 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 * 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 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 (20) €34.99 €42.36 Save 17% COMSTYLISH WOMEN'S CHRISTMAS COLORFUL CHRISTMAS TREE PRINT CASUAL SWEATSHIRT (14) €23.02 COMSTYLISH FUZZY GOLDEN DOODLE DOG FELT COZY KNIT SWEATER (51) €29.47 COMSTYLISH VAN GOGH ART MINI COIN PURSE (1) €1.83 SALE COMSTYLISH CASUAL LOOSE COLORFUL SWEATER CARDIGAN (16) €26.70 €34.99 Save 24% COMSTYLISH FUZZY DOG PLUSH PATCHWORK KNIT SWEATER (18) €28.55 Home / My cart Add €0.12 more to get 1 free gift(s) View the GIFT OFFER CART * Comstylish Fuzzy Dog Plush Patchwork Knit Sweater Color: Blue Size: 2XL Remove €28.55 * Comstylish Vintage Solid Color V Neck Cotton Linen Maxi Dress Color: Gray Size: 3XL Remove €26.61 * Comstylish Japanese Art Crane Print V-Neck Loose Blouse Color: Red Size: 3XL Remove €18.41 GOES GREAT WITH * SALE COMSTYLISH WILD FLOWERS OIL PAINTING ART COZY KNIT HOODED CARDIGAN (20) €34.99 €42.36 Save 17% * COMSTYLISH WOMEN'S CHRISTMAS COLORFUL CHRISTMAS TREE PRINT CASUAL SWEATSHIRT (14) €23.02 * COMSTYLISH FUZZY GOLDEN DOODLE DOG FELT COZY KNIT SWEATER (51) €29.47 * COMSTYLISH VAN GOGH ART MINI COIN PURSE (1) €1.83 Coupon code Apply Add order note Shipping Free Subtotal €73.58 Taxes and shipping calculated at checkout Check out Continue shopping ${function(){ const rules = data.data.rules; return ` ` }()} You May Also Like * Comstylish Fuzzy Golden Doodle Dog Felt Cozy Knit Sweater €29.47 Quick Shop * Comstylish Vintage Floral Print V-Neck Long Sleeved Blouse €23.02 €26.70 Quick Shop * Comstylish 3/4 Sleeve Round Neck Cotton and Linen T-Shirt €20.25 €25.78 Quick Shop * Japanese Art Painting Pattern Cozy Flowy Tunic €23.02 Quick Shop * Comstylish Women's Dragonfly Print Casual Shirt €26.70 Quick Shop * Comstylish Women'S Retro Floral Art Print Casual Cotton Linen Shirt €24.86 Quick Shop * Comstylish Cherry Blossom Japanese Flowy Midi Dress Quick Shop * Comstylish Vintage Floral Embroidered Lace Hem Linen Blend Maxi Dress Quick Shop * Comstylish Funny Squirrel Lights Print Sweatshirt Quick Shop * Colorful Spring Cats Pattern Cozy Hooded Cardigan Quick Shop * Comstylish Japanese Flower And Bird Painting Art Print Long Sleeved Tunic Quick Shop * Comstylish Women Japanese Art Plum Blossom Linen Blend Long Sleeve Maxi Dress Quick Shop * Comstylish Flying Bees Embroidery Pattern Cozy Knit Sweater Quick Shop * Comstylish Women's Simple Linen Blend Elastic Waist Casual Pants Quick Shop * Comstylish Women's Watercolor Dragonfly Print Casual Pants Quick Shop * Comstylish Vintage Japanese Art Flower Print V-Neck Loose Blouse Quick Shop * Comstylish Pansy Floral Embroidery Pattern Cozy Hooded Cardigan Quick Shop * Comstylish Vintage Christmas Tree Art Knitted Pattern Print Cardigan Sweater Quick Shop * Comstylish Vintage Oil Painting Art Knitted Warm Hooded Cardigan Sweater Quick Shop * Comstylish Santa Claus Print Crew Neck Casual Sweatshirt Quick Shop * Comstylish Japanese Art Cat Print Crew Neck Sweatshirt Quick Shop * Comstylish Men's Vintage Christmas Trees Art Printed Knitted Warm Crew Neck Sweater Quick Shop * Comstylish Vintage Christmas Snowflake Print Knitted Cardigan Sweater Quick Shop * Comstylish Wild Flowers Oil Painting Art Cozy Knit V Neck Sweater Quick Shop * Comstylish Vintage Forest And Waves Oil Painting Art Knitted Sweater Quick Shop * Comstylish Women's Retro Floral Print Cotton and Linen Dress Quick Shop * Comstylish Vintage Christmas Tree Art Knitted Pattern Sweater Quick Shop * Comstylish Vintage Color Block Flowers Oil Painting Art Cozy Crew Neck Sweater Quick Shop * Comstylish Vintage Forest And Wildflowers Art Print Knit Sweater Quick Shop * Comstylish Vintage Mexican Day Of The Dead Knitted Sweater Cardigan Quick Shop * Comstylish Vintage Christmas Aurora Art Knitted Warm Cardigan Sweater Quick Shop * Comstylish Vintage Mexican Festival Skull Cozy Sweater Cardigan Quick Shop * Comstylish Vintage Day Of The Dead Skull Print Knit Cardigan Sweater Quick Shop * Comstylish Abstract Creative Christmas Cute Cat Art Print Crew Neck Casual Sweatshirt Quick Shop * Comstylish Vintage Solid Cotton Linen Comfy Shawl Quick Shop * Comstylish V-Neck Retro Grizzly Bear Claw Paw Rip 1996-2024 Print T-Shirt Quick Shop * Comstylish Vintage Christmas Tree Art Print Sweatshirt Quick Shop * Comstylish Men's Aintage Vintage Flag Knit Print Sweatshirt Quick Shop * Comstylish Vintage Wildflowers Oil Painting Art Cozy Sweater Quick Shop * Comstylish Women's Vintage Grizzly 399 1996-2024 Print Crew Neck Sweatshirt Quick Shop * Comstylish Vintage Christmas Tree Art Knitted Pattern Printed Sweater Cardigan Jacket Quick Shop * Comstylish Vintage Mexican Day Of The Dead Skull Art Knitted Cardigan Sweater Quick Shop * Comstylish Abstract Creative Warm Cat Drink Coffee Print Crew Neck Casual Sweatshirt Quick Shop * Comstylish Vintage Flowers Oil Painting Art Cozy Knit Hooded Cardigan Quick Shop * Comstylish Women's Vintage Grizzly Boop Print Crew Neck Sweatshirt Quick Shop * Comstylish Vintage Floral Print Turtleneck Knit Sweater Quick Shop * Comstylish Women's Christmas Santa's Favorite Hot Mess Print Crew Neck Sweatshirt Quick Shop * Comstylish Men's Vintage Zipper Grizzly 399 The Queen Of The Tetons 1996-2024 Print Sweatshirt Quick Shop * Comstylish Women's Retro Grizzly 399 Queen Of The Tetons Print Crew Neck Casual Sweatshirt Quick Shop * Comstylish Vintage Mexican Day Of The Dead Floral Skull Knitted Cardigan Sweater Quick Shop * Comstylish Vintage Grizzly 399 The Queen Of The Tetons 1996-2024 Print Sweatshirt Quick Shop * Comstylish Cute Dog Art Print Knit Pullover Sweater Quick Shop * Comstylish Flower Art Print Crew Neck Casual Sweatshirt Quick Shop * Comstylish Vintage Irises Art Painting Cozy Knit Cardigan Quick Shop * Comstylish Japanese Art Wave Print Print Knit Cozy Hooded Cardigan Quick Shop * Comstylish Cute Dog Art Print Knit Pullover Sweater Quick Shop * Comstylish Cute Dog Hand Painted Art Print Knit Pullover Sweater Quick Shop * Comstylish Men's Vintage Western Denim Knitted Quarter-Zip Stand Collar Sweater Quick Shop * Comstylish Women's Christmas Santa's Favorite Hot Mess Printed Crew Neck T-Shirt Quick Shop * Comstylish Vintage Nun Skull Print Casual V-Neck T-Shirt Quick Shop * Comstylish Vintage Green Christmas Tree Knitted Warm Sweater Quick Shop * Comstylish Vintage Dundee Print Crew Neck Casual Sweatshirt Quick Shop * Comstylish Colorful Checkered Print Casual Sweatshirt Quick Shop * Comstylish Vintage Oil Painting Christmas Tree Knitted Sweater Quick Shop * Comstylish Abstract Print Casual Knit Cozy Hooded Cardigan Quick Shop * Comstylish Funny Pomeranian Puppy Embroidery Art Applique Cozy Sweater Quick Shop * Comstylish Vintage Mexican Day Of The Dead Catrina Print V-Neck T-Shirt Quick Shop * Comstylish Vintage Mexican Day Of The Dead Skull Print Colorblock T-Shirt Quick Shop * Comstylish Flower Art Print Round Neck Casual Sweatshirt Quick Shop * Comstylish Vintage Cute Black Cat Floral Art Print Hoodie Quick Shop * Comstylish Embroidered Flower Art Print Crew Neck Sweatshirt Quick Shop * Comstylish Vintage Mexican Festival Skull Knit Warm Sweater Cardigan Quick Shop * Comstylish Men's Orange Cat Floral Art Print Casual Knit Crew Neck Sweater Quick Shop * Comstylish Women's Vintage I Work Hard So My Dog Can Have A Better Life Printed Sweatshirt Quick Shop * Comstylish Vintage Christmas Print Casual Sweatshirt Quick Shop * Comstylish Colorful Floral Oil Painting Cozy Knit Cardigan Quick Shop * Comstylish Scotland Print Crew Neck Long Sleeve Sweatshirt Quick Shop * Comstylish Cute Christmas Snowman Art Vintage Washed Hoodie Quick Shop * Comstylish Retro Christmas Tree Mood Print Knitted Cardigan Sweater Quick Shop * Comstylish Sunflowers Crochet Art Cozy Knit Turtleneck Sweater Quick Shop * Comstylish Mexican Flowers Art Print Cotton T-Shirt Quick Shop * Comstylish Christmas Elk Print Turtleneck Knitted Sweater Quick Shop * Comstylish Women's Vintage Live By The Sun Love By The Moon Hoodie Quick Shop * Comstylish Vintage Lace Embroidered Flowers Retro Comfy Shawl Quick Shop * Comstylish Men's Cat Drinking Wine Pizza Sunset Scenery Japanese Art Print Knit Crew Neck Sweater Quick Shop * Comstylish Women's Griswold's Tree Farm Since 1989 Crew Neck Casual Sweatshirt Quick Shop * Comstylish Retro Queen Of The Tetons Born 1996 Grizzly 399 Print Hoodie Quick Shop * Comstylish Night Garden Floral Fiber Art Cozy Turtleneck Sweater Quick Shop * Comstylish Women's Grizzly 399 Teton Queen Colorful Print Sweatshirt Quick Shop * Comstylish Retro Grizzly 399 Forever The Queen Of The Tetons 1996-2024 Print Sweatshirt Quick Shop * Comstylish K Lner Karneval Clown Striped Print Cozy Scarf Quick Shop * Comstylish Women's Cute Cat Printed Comfy Shawl Scarf Quick Shop * Comstylish Women's Be Strong And Courageous Faith Print Hoodie Quick Shop * Comstylish Vintage Christmas Tree Print Crew Neck Sweatshirt Quick Shop * Comstylish Men's Countryside View Art Embroidery Print Casual Knit Crew Neck Sweater Quick Shop * Comstylish Men's Mexican Day Of The Dead Print T-Shirt Quick Shop * Comstylish Women's Grizzly Bears Wilderness Scene R.i.p. Mama Grizzly 399 Printed Sweatshirt Quick Shop * Comstylish Christmas Gift Peace Dove Embroidered Crew Neck Sweater Quick Shop * Comstylish Vintage Fairman Island Knitted Jacquard Hooded Sweater Cardigan Quick Shop * Comstylish Japanese Art Octopus Graphic Printed Casual Pants 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