www.luwwig.com
Open in
urlscan Pro
2606:4700::6811:f777
Public Scan
Submitted URL: http://luwwig.com/collections/lace-front-wigs
Effective URL: https://www.luwwig.com/collections/lace-front-wigs
Submission: On November 11 via api from US — Scanned from CA
Effective URL: https://www.luwwig.com/collections/lace-front-wigs
Submission: On November 11 via api from US — Scanned from CA
Form analysis
5 forms found in the DOM<form>
<input name="variant_id" type="hidden" value="${data.variants[0].id}">
<button type="button" class="product-snippet__quick-shop-icon" role="addToCart" data-quick-shop="${data.handle}" data-track-product-id="${data.id}" data-track="click" data-track-content="add_to_cart" data-track-source="quick_shop">
<svg class="" width="16" height="16" xmlns="http://www.w3.org/2000/svg">
<path d="M8.6 1.9a.3.3 0 0 0-.3-.3h-.6a.3.3 0 0 0-.3.3v5.5H1.9a.3.3 0 0 0-.3.3v.6a.3.3 0 0 0 .3.3h5.5v5.5a.3.3 0 0 0 .3.3h.6a.3.3 0 0 0 .3-.3V8.6h5.5a.3.3 0 0 0 .3-.3v-.6a.3.3 0 0 0-.3-.3H8.6V1.9z" fill="currentColor"></path>
</svg>
</button>
</form>
GET /search
<form class="flex items-center" action="/search" method="get">
<button type="submit" class="clear text-0 text-inherit cursor-pointer">
<svg class="" width="26" height="26" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd"
d="M17.925 20.057A9.955 9.955 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10a9.968 9.968 0 0 1-2.864 7.006l4.929 4.928a.8.8 0 0 1-1.132 1.132l-5-5-.008-.01zM20.4 12a8.4 8.4 0 1 1-16.8 0 8.4 8.4 0 0 1 16.8 0z"
fill="currentColor"></path>
</svg>
</button>
<input @input-debounced="header_search_predictive_render-sidebar.rerender(data=event.value, redo=true);" class="header__search_sidebar-input flex-1 text-base leading-none type-text-font-family clear" type="text" autocomplete="off" name="q"
placeholder="Search products">
<button type="reset" class="header__search-modal-close text-0 text-inherit clear cursor-pointer" @tap="header_search_sidebar.close()">
<svg class="" width="26" height="26" xmlns="http://www.w3.org/2000/svg">
<path d="M21.502 5.732A.85.85 0 0 0 20.3 4.53l-7.32 7.32L5.734 4.6a.85.85 0 0 0-1.202 1.203l7.248 7.247L4.53 20.3A.85.85 0 0 0 5.733 21.5l7.248-7.248 7.319 7.319a.85.85 0 0 0 1.202-1.202l-7.319-7.319 7.319-7.319z" fill="currentColor"></path>
</svg>
</button>
</form>
<form role="spz-product-formc7b1b19d-8658-4812-9ee3-fe7099c79119">
<input name="variant_id" type="hidden" value="366031aa-2660-4e75-a6bc-5687307f0adb">
<button type="button" class="product-snippet__quick-shop-icon" role="addToCart" data-quick-shop="locksluxury-ombre-highlight-side-part-short-bob-lace-frontal-wig-new-wave-for-any-face-shapes-flash-sale"
data-track-product-id="c7b1b19d-8658-4812-9ee3-fe7099c79119" data-track="click" data-track-content="add_to_cart" data-track-source="quick_shop">
<svg class="" width="16" height="16" xmlns="http://www.w3.org/2000/svg">
<path d="M8.6 1.9a.3.3 0 0 0-.3-.3h-.6a.3.3 0 0 0-.3.3v5.5H1.9a.3.3 0 0 0-.3.3v.6a.3.3 0 0 0 .3.3h5.5v5.5a.3.3 0 0 0 .3.3h.6a.3.3 0 0 0 .3-.3V8.6h5.5a.3.3 0 0 0 .3-.3v-.6a.3.3 0 0 0-.3-.3H8.6V1.9z" fill="currentColor"></path>
</svg>
</button>
<input name="product_id" type="hidden" value="c7b1b19d-8658-4812-9ee3-fe7099c79119"><input name="variant_id" type="hidden"><input name="note" type="hidden">
</form>
<form>
<div class="quick-shop-content rounded-global-small">
<div class="quick-shop-inner-content">
<spz-variants name="quick-shop-variant" id="quick-shop-variants" class="pointer-events-none" layout="container" template="quick-shop-variant-template" spz-if="${product_options && product_options.length > 0}" interact="hover"
interference="" ${mouse_out_event}="" ${mouse_over_event}=""></spz-variants>
<button class="relative mt-5 lg:mt-6 button-primary flex items-center justify-center body-plus-2 type-text-font-family rounded-btn quick-shop_atc_btn" type="button" role="addToCart" data-track="click" data-track-content="add_to_cart"
data-track-source="add_to_cart">
<span role="content">${statusLan}</span>
<spz-render id="quick-shop-btn-price" layout="container" template="quick-shop-button-price-template" manual=""></spz-render>
<div class="loading items-center justify-center absolute inset-0" role="loading" show="">
<div class="loading-bounce"></div>
</div>
</button>
</div>
</div>
</form>
<form class="">
<div class="zb-flex">
<a href="${product.url}?${toQuery({ aid: 'smart_recommend.2.' + data.id, ifb: product.ifb || '', cfb: product.cfb || '', scm: product.scm || data.scm || '', ssp: data.ssp || '' })}" impr="1" imprevt="1" class="zb-w-[132px] zb-mr-4 rtl:zb-ml-4 rtl:zb-mr-0" data-prdct="${product.id}" data-ifb="${product.ifb || ''}" data-cfb="${product.cfb || ''}" data-scm="${product.scm || data.scm || ''}" data-spm="${productIndex}"> <ljs-render layout="container" id="smart_cart_pop_image_${product.id}" template="smart_cart_pop_image_template" manual=""></ljs-render> </a>
<div class="zb-flex zb-flex-col zb-flex-grow zb-justify-between">
<div>
<div class="zb-line-clamp-2 zb-text-sm zb-mb-2">${product.title}</div> <ljs-render layout="container" id="smart_cart_pop_price_${product.id}" template="smart_cart_pop_price_template" manual=""></ljs-render>
</div>
<div>
<div class="zb-relative zb-w-full zb-cursor-pointer">
<div class="zb-border zb-border-solid zb-border-[#eee] zb-px-3 zb-py-[10px] zb-flex zb-items-center zb-justify-between zb-font-semibold zb-text-sm zb-rounded-sm"
@tap="smart_pop_variant-select-${product.id}.toggleClass(class=zb-rotate-180);smart_cart_pop_variant_${product.id}_mobile.toggleClass(class=zb-hidden);smart_cart_pop_variant_${product.id}_pc.toggleClass(class=smart_cart_pop_variant_pc_show,force=true);smart_cart_pop_variant_modal_${product.id}.open"
spz-if="${!!(product.options && 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>
Text Content
${(function(){ const get_random_six_digits = () => { return Math.random().toString().slice(-6) }; const wholesale_enabled = false; const setting_product_image_display = "100%"; const product_image = data.image; const secondary_image = data.secondImage; const image_width = product_image.width; let image_height = product_image.height; if(setting_product_image_display == '100%'){ image_height = image_width }else if(setting_product_image_display == '133.33%'){ image_height = image_width * 1.3333; }; const product_image_hover_on = true && !!secondary_image.src; const has_save_label = true && ((+data.compare_at_price) > (+data.price)); const is_single_variant = data.variants.length == 1; const min_price_variant_href = (data.min_price_variant && data.min_price_variant.available) ? data.min_price_variant.withinUrl : data.withinUrl; const retail_price_max = data.retail_price_max || data.compare_at_price_max; const THUMBNAILS_MAX_SIZE = 3; const thumbnails = data.thumbVariants.slice(0, THUMBNAILS_MAX_SIZE); const image_wrap_id = 'image_wrap_' + get_random_six_digits(); const image_carousel_id = 'image_carousel_' + get_random_six_digits(); const thumbnails_selector_id = 'thumbnails_selector_' + get_random_six_digits(); const form_id = 'form_' + get_random_six_digits(); const mixed_wholesale = data.mixed_wholesale; return ` ${ data.available ? `${ (+data.compare_at_price > +data.price) ? `Save ` : '' }` : "Sold out" } Mixed Lot ${DATA.TITLE} ${ data.price_min != data.price_max ? `from ` : ` ` } +${data.remainInvisibleThumbCount} ` })()} 🔥OVER $50 SAVE $20 | Buy Today 🔥OVER $50 SAVE $20 | Buy Today * Log in * Create an account ${data.data && data.data.count} * Home * Hot Sale * 🔥OVER $50 SAVE $20 * SALT & PEPPER * Hair Weave * All Hair Weaves * Virgin Hair Series Body Wave Deep Wave Curly Hair Straight Hair Water Wave Natural Wave Loose Wave Loose Deep Wave Kinky Curly Hair Kinky Straight Hair Super Wave Funmi Curly * Virgin Hair Type Brazilian Hair Peruvian Hair Indian Hair Malaysian Hair * Color Hair Weave * Remy Youth Series Body Wave Straight Hair Deep Wave Curly Hair * Bundles Deal 1 Piece/Pack 3 Piece/Pack 4 Piece/Pack * Weave Ponytail * Wigs * All Wigs * Wigs By Lace Size Glueless HD Wigs Lace Front Wigs 5x5 HD Lace Wigs 13x4 HD Lace Wigs 4x4 Lace Closure Wigs U/V Part Wigs Lace Part Wigs 4x4 Lace Part Wigs 13x4 Lace Front Wigs 13x5 Middle Part Wigs 13x6 Lace Front Wigs 360 Lace Front Wigs * Wigs By Color Colored Wigs Ombre Highlight Wigs Blonde Colored Wigs Reddish Brown Wigs Balayage Colored Wigs Ginger Colored Wigs Red Colored Wigs Brown Colored Wigs Fall Colored Wigs * Wig Textures Body Wave Wigs Kinky Curly Wigs Kinky Straight Wigs Jerry Curly Wigs Bone Straight Wigs Layered hairstyles Water Wave Wigs Deep Wave Wigs Loose Wave Wigs Short Bob Lace Wigs * Wigs By Price All Wigs Under $100 All Wigs $100-$200 Headband Wigs Under $100 Machine Made Wig $40-$120 Short Bob Wigs $40-$200 * Wigs By Density Heavy Density Wigs Thick Density Wigs Regular Density Wigs Natural Density Wigs Save $65.70 Save $65.70 SHORT BOB V PART WIG JERRY CURLY GLUELESS WIGS MEETS REAL SCALP NO LEAVE OUT BEGINNER FRIENDLY from $153.30 $219.00 * ❤ New In ❤ All New In Wigs ❤ New in Octorber ❤ YTbers Recommend Save $65.70 Save $65.70 SHORT BOB V PART WIG JERRY CURLY GLUELESS WIGS MEETS REAL SCALP NO LEAVE OUT BEGINNER FRIENDLY from $153.30 $219.00 * ❤ Lace Front Wigs * HD Glueless Wigs * ❤ Sales Brand Day Sale Points Reward Gift Bomb Flash Sale Clearance Wigs Hair Promoter Save $65.70 Save $65.70 SHORT BOB V PART WIG JERRY CURLY GLUELESS WIGS MEETS REAL SCALP NO LEAVE OUT BEGINNER FRIENDLY from $153.30 $219.00 * Lace Frontal * Lace Closure & Frontal 4*4 Lace Closure 5x5 HD Lace Closure 13*4 Lace Frontal * 3 Bundles with 4*4 Closure * 4 Bundles with 4*4 Closure * 3 Bundles with 13*4 Frontal Closure * 4 Bundles with 13*4 Frontal Closure Save $67.53 Save $67.53 PERUVIAN CURLY HAIR 3 BUNDLES WITH LACE FRONTAL CLOSURE- HAIR from $226.06 $293.59 * Hot Wholesale * More links ${(function(){ const formatLinks = (links) => { return links.map(link => { link.tag = tags[link.title.toUpperCase()] || {}; link.target_attr = link.target == '_blank' ? 'target="_blank"' : ''; link.href_attr = link.url ? `href="${link.url}"` : ''; if(link.children && link.children.length){ link.children = formatLinks(link.children); } return link; }) }; const tags = "{}"; let linkList = [ { id: 67437409, title: "Home", url: "\/", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 67437411, title: "Hot Sale", url: "\/collections\/hot-sale-50m0", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 67437413, title: "\ud83d\udd25OVER $50 SAVE $20", url: "\/collections\/\ud83d\udd25over-50-save-20", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 67437415, title: "SALT & PEPPER", url: "\/collections\/salt-pepper", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 67437417, title: "Hair Weave", url: "\/collections\/all-hair-weaves", target: "", levels: 2, product0: { id: (null) }, children: [ { title: "All Hair Weaves", url: "\/collections\/\ud83d\udd25over-50-save-20", target: "", levels: 0, children: [ ] }, { title: "Virgin Hair Series", url: "\/collections\/virgin-hair-series", target: "", levels: 1, children: [ { title: "Body Wave", url: "\/collections\/body-wave", target: "", levels: 0, }, { title: "Deep Wave", url: "\/collections\/deep-wave", target: "", levels: 0, }, { title: "Curly Hair", url: "\/collections\/curly-hair", target: "", levels: 0, }, { title: "Straight Hair", url: "\/collections\/straight-hair", target: "", levels: 0, }, { title: "Water Wave", url: "\/collections\/water-wave", target: "", levels: 0, }, { title: "Natural Wave", url: "\/collections\/natural-wave", target: "", levels: 0, }, { title: "Loose Wave", url: "\/collections\/loose-wave", target: "", levels: 0, }, { title: "Loose Deep Wave", url: "\/collections\/loose-deep-wave", target: "", levels: 0, }, { title: "Kinky Curly Hair", url: "\/collections\/kinky-curly-hair", target: "", levels: 0, }, { title: "Kinky Straight Hair", url: "\/collections\/kinky-straight-hair", target: "", levels: 0, }, { title: "Super Wave", url: "\/collections\/super-wave", target: "", levels: 0, }, { title: "Funmi Curly", url: "\/collections\/funmi-curly", target: "", levels: 0, }, ] }, { title: "Virgin Hair Type", url: "\/collections\/virgin-hair-type", target: "", levels: 1, children: [ { title: "Brazilian Hair", url: "\/collections\/brazilian-hair", target: "", levels: 0, }, { title: "Peruvian Hair", url: "\/collections\/peruvian-hair", target: "", levels: 0, }, { title: "Indian Hair", url: "\/collections\/indian-hair", target: "", levels: 0, }, { title: "Malaysian Hair", url: "\/collections\/malaysian-hair", target: "", levels: 0, }, ] }, { title: "Color Hair Weave", url: "\/collections\/color-hair-weave", target: "", levels: 0, children: [ ] }, { title: "Remy Youth Series", url: "\/collections\/remy-youth-series", target: "", levels: 1, children: [ { title: "Body Wave", url: "\/collections\/body-wave", target: "", levels: 0, }, { title: "Straight Hair", url: "\/collections\/straight-hair", target: "", levels: 0, }, { title: "Deep Wave", url: "\/collections\/deep-wave", target: "", levels: 0, }, { title: "Curly Hair", url: "\/collections\/curly-hair", target: "", levels: 0, }, ] }, { title: "Bundles Deal", url: "\/collections\/bundles-deal", target: "", levels: 1, children: [ { title: "1 Piece\/Pack", url: "\/collections\/1-piece-pack", target: "", levels: 0, }, { title: "3 Piece\/Pack", url: "\/collections\/3-piece-pack", target: "", levels: 0, }, { title: "4 Piece\/Pack", url: "\/collections\/4-piece-pack", target: "", levels: 0, }, ] }, { title: "Weave Ponytail", url: "\/collections\/weave-ponytail", target: "", levels: 0, children: [ ] }, ] }, { id: 67437479, title: "Wigs", url: "\/collections\/wigs", target: "", levels: 2, product0: { id: ("0e9a809d-dc7f-4a23-b4d6-e114a27e4ddd") }, children: [ { title: "All Wigs", url: "\/collections\/all-wigs", target: "", levels: 0, children: [ ] }, { title: "Wigs By Lace Size", url: "\/collections\/wigs-by-lace-size", target: "", levels: 1, children: [ { title: "Glueless HD Wigs", url: "\/collections\/glueless-hd-wigs", target: "", levels: 0, }, { title: "Lace Front Wigs", url: "\/collections\/lace-front-wigs", target: "", levels: 0, }, { title: "5x5 HD Lace Wigs", url: "\/collections\/5x5-hd-lace-wigs", target: "", levels: 0, }, { title: "13x4 HD Lace Wigs", url: "\/collections\/13x4-hd-lace-wigs", target: "", levels: 0, }, { title: "4x4 Lace Closure Wigs", url: "\/collections\/4x4-lace-closure-wigs", target: "", levels: 0, }, { title: "U\/V Part Wigs", url: "\/collections\/u-v-part-wigs", target: "", levels: 0, }, { title: "Lace Part Wigs", url: "\/collections\/lace-part-wigs", target: "", levels: 0, }, { title: "4x4 Lace Part Wigs", url: "\/collections\/4x4-lace-part-wigs", target: "", levels: 0, }, { title: "13x4 Lace Front Wigs", url: "\/collections\/13x4-lace-front-wigs", target: "", levels: 0, }, { title: "13x5 Middle Part Wigs", url: "\/collections\/13x5-middle-part-wigs", target: "", levels: 0, }, { title: "13x6 Lace Front Wigs", url: "\/collections\/13x6-lace-front-wigs", target: "", levels: 0, }, { title: "360 Lace Front Wigs", url: "\/collections\/360-lace-front-wigs", target: "", levels: 0, }, ] }, { title: "Wigs By Color", url: "\/collections\/wigs-by-color", target: "", levels: 1, children: [ { title: "Colored Wigs", url: "\/collections\/colored-wigs", target: "", levels: 0, }, { title: "Ombre Highlight Wigs", url: "\/collections\/ombre-highlight-wigs", target: "", levels: 0, }, { title: "Blonde Colored Wigs", url: "\/collections\/blonde-colored-wigs", target: "", levels: 0, }, { title: "Reddish Brown Wigs", url: "\/collections\/reddish-brown-wigs", target: "", levels: 0, }, { title: "Balayage Colored Wigs", url: "\/collections\/balayage-colored-wigs", target: "", levels: 0, }, { title: "Ginger Colored Wigs", url: "\/collections\/ginger-colored-wigs", target: "", levels: 0, }, { title: "Red Colored Wigs", url: "\/collections\/red-colored-wigs", target: "", levels: 0, }, { title: "Brown Colored Wigs", url: "\/collections\/brown-colored-wigs", target: "", levels: 0, }, { title: "Fall Colored Wigs", url: "\/collections\/fall-colored-wigs", target: "", levels: 0, }, ] }, { title: "Wig Textures", url: "\/collections\/wig-textures", target: "", levels: 1, children: [ { title: "Body Wave Wigs", url: "\/collections\/body-wave-wigs", target: "", levels: 0, }, { title: "Kinky Curly Wigs", url: "\/collections\/kinky-curly-wigs", target: "", levels: 0, }, { title: "Kinky Straight Wigs", url: "\/collections\/kinky-straight-wigs", target: "", levels: 0, }, { title: "Jerry Curly Wigs", url: "\/collections\/jerry-curly-wigs", target: "", levels: 0, }, { title: "Bone Straight Wigs", url: "\/collections\/bone-straight-wigs", target: "", levels: 0, }, { title: "Layered hairstyles", url: "\/collections\/layered-hairstyles", target: "", levels: 0, }, { title: "Water Wave Wigs", url: "\/collections\/water-wave-wigs", target: "", levels: 0, }, { title: "Deep Wave Wigs", url: "\/collections\/deep-wave-wigs", target: "", levels: 0, }, { title: "Loose Wave Wigs", url: "\/collections\/loose-wave-wigs", target: "", levels: 0, }, { title: "Short Bob Lace Wigs", url: "\/collections\/short-bob-lace-wigs", target: "", levels: 0, }, ] }, { title: "Wigs By Price", url: "\/collections\/wigs", target: "", levels: 1, children: [ { title: "All Wigs Under $100", url: "\/collections\/all-wigs-under-100", target: "", levels: 0, }, { title: "All Wigs $100-$200", url: "\/collections\/all-wigs-100-200", target: "", levels: 0, }, { title: "Headband Wigs Under $100", url: "\/collections\/headband-wigs-under-100", target: "", levels: 0, }, { title: "Machine Made Wig $40-$120", url: "\/collections\/machine-made-wig-40-120", target: "", levels: 0, }, { title: "Short Bob Wigs $40-$200", url: "\/collections\/short-bob-wigs-40-200", target: "", levels: 0, }, ] }, { title: "Wigs By Density", url: "\/collections\/wigs-by-density", target: "", levels: 1, children: [ { title: "Heavy Density Wigs", url: "\/collections\/heavy-density-wigs", target: "", levels: 0, }, { title: "Thick Density Wigs", url: "\/collections\/thick-density-wigs", target: "", levels: 0, }, { title: "Regular Density Wigs", url: "\/collections\/regular-density-wigs", target: "", levels: 0, }, { title: "Natural Density Wigs", url: "\/collections\/natural-density-wigs", target: "", levels: 0, }, ] }, ] }, { id: 67437573, title: "\u2764 New In", url: "\/collections\/new-in", target: "", levels: 1, product0: { id: ("0e9a809d-dc7f-4a23-b4d6-e114a27e4ddd") }, children: [ { title: "\u2764 All New In Wigs", url: "\/collections\/all-new-in-wigs", target: "", levels: 0, children: [ ] }, { title: "\u2764 New in Octorber", url: "\/collections\/new-in-october", target: "", levels: 0, children: [ ] }, { title: "\u2764 YTbers Recommend", url: "\/collections\/ytbers-recommend", target: "", levels: 0, children: [ ] }, ] }, { id: 67437581, title: "\u2764 Lace Front Wigs", url: "\/collections\/lace-front-wigs-68p4", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 67437583, title: "HD Glueless Wigs", url: "\/collections\/hd-glueless-wigs", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 67437585, title: "\u2764 Sales", url: "\/collections\/sales", target: "", levels: 1, product0: { id: ("0e9a809d-dc7f-4a23-b4d6-e114a27e4ddd") }, children: [ { title: "Brand Day Sale", url: "\/collections\/brand-day-sale", target: "", levels: 0, children: [ ] }, { title: "Points Reward Gift", url: "\/collections\/points-reward-gift", target: "", levels: 0, children: [ ] }, { title: "Bomb Flash Sale", url: "\/collections\/bomb-flash-sale", target: "", levels: 0, children: [ ] }, { title: "Clearance Wigs", url: "\/collections\/clearance-wigs", target: "", levels: 0, children: [ ] }, { title: "Hair Promoter", url: "\/pages\/hair-promoter", target: "", levels: 0, children: [ ] }, ] }, { id: 67437597, title: "Lace Frontal", url: "\/collections\/lace-frontal", target: "", levels: 2, product0: { id: ("a9458667-d193-4bf9-85f6-1e496002a442") }, children: [ { title: "Lace Closure & Frontal", url: "\/collections\/lace-closure-frontal", target: "", levels: 1, children: [ { title: "4*4 Lace Closure", url: "\/collections\/4-4-lace-closure", target: "", levels: 0, }, { title: "5x5 HD Lace Closure", url: "\/collections\/5x5-hd-lace-closure", target: "", levels: 0, }, { title: "13*4 Lace Frontal", url: "\/collections\/13-4-lace-frontal", target: "", levels: 0, }, ] }, { title: "3 Bundles with 4*4 Closure", url: "\/collections\/3-bundles-with-4-4-closure", target: "", levels: 0, children: [ ] }, { title: "4 Bundles with 4*4 Closure", url: "\/collections\/4-bundles-with-4-4-closure", target: "", levels: 0, children: [ ] }, { title: "3 Bundles with 13*4 Frontal Closure", url: "\/collections\/3-bundles-with-13-4-frontal-closure", target: "", levels: 0, children: [ ] }, { title: "4 Bundles with 13*4 Frontal Closure", url: "\/collections\/4-bundles-with-13-4-frontal-closure", target: "", levels: 0, children: [ ] }, ] }, { id: 67437615, title: "Hot Wholesale", url: "\/pages\/wholesale-hair", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, ].slice(offset); linkList = formatLinks(linkList); const hasChild = linkList.some(link => !!(link.children && link.children.length || link.product0.id)); return ` * ${link.title} ${link.tag.label} * ${second_link.title} ${second_link.tag.label} ${third_links.title} ${third_links.tag.label} * ${link.title} ${link.tag.label} ` })()} * Home * Hot Sale * 🔥OVER $50 SAVE $20 * SALT & PEPPER * Hair Weave * All Hair Weaves * Virgin Hair Series Body Wave Deep Wave Curly Hair Straight Hair Water Wave Natural Wave Loose Wave Loose Deep Wave Kinky Curly Hair Kinky Straight Hair Super Wave Funmi Curly * Virgin Hair Type Brazilian Hair Peruvian Hair Indian Hair Malaysian Hair * Color Hair Weave * Remy Youth Series Body Wave Straight Hair Deep Wave Curly Hair * Bundles Deal 1 Piece/Pack 3 Piece/Pack 4 Piece/Pack * Weave Ponytail * Wigs * All Wigs * Wigs By Lace Size Glueless HD Wigs Lace Front Wigs 5x5 HD Lace Wigs 13x4 HD Lace Wigs 4x4 Lace Closure Wigs U/V Part Wigs Lace Part Wigs 4x4 Lace Part Wigs 13x4 Lace Front Wigs 13x5 Middle Part Wigs 13x6 Lace Front Wigs 360 Lace Front Wigs * Wigs By Color Colored Wigs Ombre Highlight Wigs Blonde Colored Wigs Reddish Brown Wigs Balayage Colored Wigs Ginger Colored Wigs Red Colored Wigs Brown Colored Wigs Fall Colored Wigs * Wig Textures Body Wave Wigs Kinky Curly Wigs Kinky Straight Wigs Jerry Curly Wigs Bone Straight Wigs Layered hairstyles Water Wave Wigs Deep Wave Wigs Loose Wave Wigs Short Bob Lace Wigs * Wigs By Price All Wigs Under $100 All Wigs $100-$200 Headband Wigs Under $100 Machine Made Wig $40-$120 Short Bob Wigs $40-$200 * Wigs By Density Heavy Density Wigs Thick Density Wigs Regular Density Wigs Natural Density Wigs Save $65.70 Save $65.70 SHORT BOB V PART WIG JERRY CURLY GLUELESS WIGS MEETS REAL SCALP NO LEAVE OUT BEGINNER FRIENDLY from $153.30 $219.00 * ❤ New In ❤ All New In Wigs ❤ New in Octorber ❤ YTbers Recommend Save $65.70 Save $65.70 SHORT BOB V PART WIG JERRY CURLY GLUELESS WIGS MEETS REAL SCALP NO LEAVE OUT BEGINNER FRIENDLY from $153.30 $219.00 * ❤ Lace Front Wigs * HD Glueless Wigs * ❤ Sales Brand Day Sale Points Reward Gift Bomb Flash Sale Clearance Wigs Hair Promoter Save $65.70 Save $65.70 SHORT BOB V PART WIG JERRY CURLY GLUELESS WIGS MEETS REAL SCALP NO LEAVE OUT BEGINNER FRIENDLY from $153.30 $219.00 * Lace Frontal * Lace Closure & Frontal 4*4 Lace Closure 5x5 HD Lace Closure 13*4 Lace Frontal * 3 Bundles with 4*4 Closure * 4 Bundles with 4*4 Closure * 3 Bundles with 13*4 Frontal Closure * 4 Bundles with 13*4 Frontal Closure Save $67.53 Save $67.53 PERUVIAN CURLY HAIR 3 BUNDLES WITH LACE FRONTAL CLOSURE- HAIR from $226.06 $293.59 * Hot Wholesale * More links ${(function(){ const formatLinks = (links) => { return links.map(link => { link.tag = tags[link.title.toUpperCase()] || {}; link.target_attr = link.target == '_blank' ? 'target="_blank"' : ''; link.href_attr = link.url ? `href="${link.url}"` : ''; if(link.children && link.children.length){ link.children = formatLinks(link.children); } return link; }) }; const tags = "{}"; let linkList = [ { id: 67437409, title: "Home", url: "\/", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 67437411, title: "Hot Sale", url: "\/collections\/hot-sale-50m0", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 67437413, title: "\ud83d\udd25OVER $50 SAVE $20", url: "\/collections\/\ud83d\udd25over-50-save-20", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 67437415, title: "SALT & PEPPER", url: "\/collections\/salt-pepper", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 67437417, title: "Hair Weave", url: "\/collections\/all-hair-weaves", target: "", levels: 2, product0: { id: (null) }, children: [ { title: "All Hair Weaves", url: "\/collections\/\ud83d\udd25over-50-save-20", target: "", levels: 0, children: [ ] }, { title: "Virgin Hair Series", url: "\/collections\/virgin-hair-series", target: "", levels: 1, children: [ { title: "Body Wave", url: "\/collections\/body-wave", target: "", levels: 0, }, { title: "Deep Wave", url: "\/collections\/deep-wave", target: "", levels: 0, }, { title: "Curly Hair", url: "\/collections\/curly-hair", target: "", levels: 0, }, { title: "Straight Hair", url: "\/collections\/straight-hair", target: "", levels: 0, }, { title: "Water Wave", url: "\/collections\/water-wave", target: "", levels: 0, }, { title: "Natural Wave", url: "\/collections\/natural-wave", target: "", levels: 0, }, { title: "Loose Wave", url: "\/collections\/loose-wave", target: "", levels: 0, }, { title: "Loose Deep Wave", url: "\/collections\/loose-deep-wave", target: "", levels: 0, }, { title: "Kinky Curly Hair", url: "\/collections\/kinky-curly-hair", target: "", levels: 0, }, { title: "Kinky Straight Hair", url: "\/collections\/kinky-straight-hair", target: "", levels: 0, }, { title: "Super Wave", url: "\/collections\/super-wave", target: "", levels: 0, }, { title: "Funmi Curly", url: "\/collections\/funmi-curly", target: "", levels: 0, }, ] }, { title: "Virgin Hair Type", url: "\/collections\/virgin-hair-type", target: "", levels: 1, children: [ { title: "Brazilian Hair", url: "\/collections\/brazilian-hair", target: "", levels: 0, }, { title: "Peruvian Hair", url: "\/collections\/peruvian-hair", target: "", levels: 0, }, { title: "Indian Hair", url: "\/collections\/indian-hair", target: "", levels: 0, }, { title: "Malaysian Hair", url: "\/collections\/malaysian-hair", target: "", levels: 0, }, ] }, { title: "Color Hair Weave", url: "\/collections\/color-hair-weave", target: "", levels: 0, children: [ ] }, { title: "Remy Youth Series", url: "\/collections\/remy-youth-series", target: "", levels: 1, children: [ { title: "Body Wave", url: "\/collections\/body-wave", target: "", levels: 0, }, { title: "Straight Hair", url: "\/collections\/straight-hair", target: "", levels: 0, }, { title: "Deep Wave", url: "\/collections\/deep-wave", target: "", levels: 0, }, { title: "Curly Hair", url: "\/collections\/curly-hair", target: "", levels: 0, }, ] }, { title: "Bundles Deal", url: "\/collections\/bundles-deal", target: "", levels: 1, children: [ { title: "1 Piece\/Pack", url: "\/collections\/1-piece-pack", target: "", levels: 0, }, { title: "3 Piece\/Pack", url: "\/collections\/3-piece-pack", target: "", levels: 0, }, { title: "4 Piece\/Pack", url: "\/collections\/4-piece-pack", target: "", levels: 0, }, ] }, { title: "Weave Ponytail", url: "\/collections\/weave-ponytail", target: "", levels: 0, children: [ ] }, ] }, { id: 67437479, title: "Wigs", url: "\/collections\/wigs", target: "", levels: 2, product0: { id: ("0e9a809d-dc7f-4a23-b4d6-e114a27e4ddd") }, children: [ { title: "All Wigs", url: "\/collections\/all-wigs", target: "", levels: 0, children: [ ] }, { title: "Wigs By Lace Size", url: "\/collections\/wigs-by-lace-size", target: "", levels: 1, children: [ { title: "Glueless HD Wigs", url: "\/collections\/glueless-hd-wigs", target: "", levels: 0, }, { title: "Lace Front Wigs", url: "\/collections\/lace-front-wigs", target: "", levels: 0, }, { title: "5x5 HD Lace Wigs", url: "\/collections\/5x5-hd-lace-wigs", target: "", levels: 0, }, { title: "13x4 HD Lace Wigs", url: "\/collections\/13x4-hd-lace-wigs", target: "", levels: 0, }, { title: "4x4 Lace Closure Wigs", url: "\/collections\/4x4-lace-closure-wigs", target: "", levels: 0, }, { title: "U\/V Part Wigs", url: "\/collections\/u-v-part-wigs", target: "", levels: 0, }, { title: "Lace Part Wigs", url: "\/collections\/lace-part-wigs", target: "", levels: 0, }, { title: "4x4 Lace Part Wigs", url: "\/collections\/4x4-lace-part-wigs", target: "", levels: 0, }, { title: "13x4 Lace Front Wigs", url: "\/collections\/13x4-lace-front-wigs", target: "", levels: 0, }, { title: "13x5 Middle Part Wigs", url: "\/collections\/13x5-middle-part-wigs", target: "", levels: 0, }, { title: "13x6 Lace Front Wigs", url: "\/collections\/13x6-lace-front-wigs", target: "", levels: 0, }, { title: "360 Lace Front Wigs", url: "\/collections\/360-lace-front-wigs", target: "", levels: 0, }, ] }, { title: "Wigs By Color", url: "\/collections\/wigs-by-color", target: "", levels: 1, children: [ { title: "Colored Wigs", url: "\/collections\/colored-wigs", target: "", levels: 0, }, { title: "Ombre Highlight Wigs", url: "\/collections\/ombre-highlight-wigs", target: "", levels: 0, }, { title: "Blonde Colored Wigs", url: "\/collections\/blonde-colored-wigs", target: "", levels: 0, }, { title: "Reddish Brown Wigs", url: "\/collections\/reddish-brown-wigs", target: "", levels: 0, }, { title: "Balayage Colored Wigs", url: "\/collections\/balayage-colored-wigs", target: "", levels: 0, }, { title: "Ginger Colored Wigs", url: "\/collections\/ginger-colored-wigs", target: "", levels: 0, }, { title: "Red Colored Wigs", url: "\/collections\/red-colored-wigs", target: "", levels: 0, }, { title: "Brown Colored Wigs", url: "\/collections\/brown-colored-wigs", target: "", levels: 0, }, { title: "Fall Colored Wigs", url: "\/collections\/fall-colored-wigs", target: "", levels: 0, }, ] }, { title: "Wig Textures", url: "\/collections\/wig-textures", target: "", levels: 1, children: [ { title: "Body Wave Wigs", url: "\/collections\/body-wave-wigs", target: "", levels: 0, }, { title: "Kinky Curly Wigs", url: "\/collections\/kinky-curly-wigs", target: "", levels: 0, }, { title: "Kinky Straight Wigs", url: "\/collections\/kinky-straight-wigs", target: "", levels: 0, }, { title: "Jerry Curly Wigs", url: "\/collections\/jerry-curly-wigs", target: "", levels: 0, }, { title: "Bone Straight Wigs", url: "\/collections\/bone-straight-wigs", target: "", levels: 0, }, { title: "Layered hairstyles", url: "\/collections\/layered-hairstyles", target: "", levels: 0, }, { title: "Water Wave Wigs", url: "\/collections\/water-wave-wigs", target: "", levels: 0, }, { title: "Deep Wave Wigs", url: "\/collections\/deep-wave-wigs", target: "", levels: 0, }, { title: "Loose Wave Wigs", url: "\/collections\/loose-wave-wigs", target: "", levels: 0, }, { title: "Short Bob Lace Wigs", url: "\/collections\/short-bob-lace-wigs", target: "", levels: 0, }, ] }, { title: "Wigs By Price", url: "\/collections\/wigs", target: "", levels: 1, children: [ { title: "All Wigs Under $100", url: "\/collections\/all-wigs-under-100", target: "", levels: 0, }, { title: "All Wigs $100-$200", url: "\/collections\/all-wigs-100-200", target: "", levels: 0, }, { title: "Headband Wigs Under $100", url: "\/collections\/headband-wigs-under-100", target: "", levels: 0, }, { title: "Machine Made Wig $40-$120", url: "\/collections\/machine-made-wig-40-120", target: "", levels: 0, }, { title: "Short Bob Wigs $40-$200", url: "\/collections\/short-bob-wigs-40-200", target: "", levels: 0, }, ] }, { title: "Wigs By Density", url: "\/collections\/wigs-by-density", target: "", levels: 1, children: [ { title: "Heavy Density Wigs", url: "\/collections\/heavy-density-wigs", target: "", levels: 0, }, { title: "Thick Density Wigs", url: "\/collections\/thick-density-wigs", target: "", levels: 0, }, { title: "Regular Density Wigs", url: "\/collections\/regular-density-wigs", target: "", levels: 0, }, { title: "Natural Density Wigs", url: "\/collections\/natural-density-wigs", target: "", levels: 0, }, ] }, ] }, { id: 67437573, title: "\u2764 New In", url: "\/collections\/new-in", target: "", levels: 1, product0: { id: ("0e9a809d-dc7f-4a23-b4d6-e114a27e4ddd") }, children: [ { title: "\u2764 All New In Wigs", url: "\/collections\/all-new-in-wigs", target: "", levels: 0, children: [ ] }, { title: "\u2764 New in Octorber", url: "\/collections\/new-in-october", target: "", levels: 0, children: [ ] }, { title: "\u2764 YTbers Recommend", url: "\/collections\/ytbers-recommend", target: "", levels: 0, children: [ ] }, ] }, { id: 67437581, title: "\u2764 Lace Front Wigs", url: "\/collections\/lace-front-wigs-68p4", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 67437583, title: "HD Glueless Wigs", url: "\/collections\/hd-glueless-wigs", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 67437585, title: "\u2764 Sales", url: "\/collections\/sales", target: "", levels: 1, product0: { id: ("0e9a809d-dc7f-4a23-b4d6-e114a27e4ddd") }, children: [ { title: "Brand Day Sale", url: "\/collections\/brand-day-sale", target: "", levels: 0, children: [ ] }, { title: "Points Reward Gift", url: "\/collections\/points-reward-gift", target: "", levels: 0, children: [ ] }, { title: "Bomb Flash Sale", url: "\/collections\/bomb-flash-sale", target: "", levels: 0, children: [ ] }, { title: "Clearance Wigs", url: "\/collections\/clearance-wigs", target: "", levels: 0, children: [ ] }, { title: "Hair Promoter", url: "\/pages\/hair-promoter", target: "", levels: 0, children: [ ] }, ] }, { id: 67437597, title: "Lace Frontal", url: "\/collections\/lace-frontal", target: "", levels: 2, product0: { id: ("a9458667-d193-4bf9-85f6-1e496002a442") }, children: [ { title: "Lace Closure & Frontal", url: "\/collections\/lace-closure-frontal", target: "", levels: 1, children: [ { title: "4*4 Lace Closure", url: "\/collections\/4-4-lace-closure", target: "", levels: 0, }, { title: "5x5 HD Lace Closure", url: "\/collections\/5x5-hd-lace-closure", target: "", levels: 0, }, { title: "13*4 Lace Frontal", url: "\/collections\/13-4-lace-frontal", target: "", levels: 0, }, ] }, { title: "3 Bundles with 4*4 Closure", url: "\/collections\/3-bundles-with-4-4-closure", target: "", levels: 0, children: [ ] }, { title: "4 Bundles with 4*4 Closure", url: "\/collections\/4-bundles-with-4-4-closure", target: "", levels: 0, children: [ ] }, { title: "3 Bundles with 13*4 Frontal Closure", url: "\/collections\/3-bundles-with-13-4-frontal-closure", target: "", levels: 0, children: [ ] }, { title: "4 Bundles with 13*4 Frontal Closure", url: "\/collections\/4-bundles-with-13-4-frontal-closure", target: "", levels: 0, children: [ ] }, ] }, { id: 67437615, title: "Hot Wholesale", url: "\/pages\/wholesale-hair", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, ].slice(offset); linkList = formatLinks(linkList); const hasChild = linkList.some(link => !!(link.children && link.children.length || link.product0.id)); return ` * ${link.title} ${link.tag.label} * ${second_link.title} ${second_link.tag.label} ${third_links.title} ${third_links.tag.label} * ${link.title} ${link.tag.label} ` })()} * HD Glueless Wigs * ❤ Sales * Lace Frontal * Hot Wholesale * Brand Day Sale * Points Reward Gift * Bomb Flash Sale * Clearance Wigs * Hair Promoter * Lace Closure & Frontal 4*4 Lace Closure 5x5 HD Lace Closure 13*4 Lace Frontal * 3 Bundles with 4*4 Closure * 4 Bundles with 4*4 Closure * 3 Bundles with 13*4 Frontal Closure * 4 Bundles with 13*4 Frontal Closure * Log in * Create an account ${data.data && data.data.count} ${(function(){ if (data === undefined || typeof data !== 'string' || data == '') return ''; const keyword = encodeURIComponent(data); return ` View more Your search for '${data}' did not yield any results. ` })()} * Home * Hot Sale * 🔥OVER $50 SAVE $20 * SALT & PEPPER * Hair Weave * Hair Weave * All Hair Weaves * Virgin Hair Series * Virgin Hair Series * Body Wave * Deep Wave * Curly Hair * Straight Hair * Water Wave * Natural Wave * Loose Wave * Loose Deep Wave * Kinky Curly Hair * Kinky Straight Hair * Super Wave * Funmi Curly * Virgin Hair Type * Virgin Hair Type * Brazilian Hair * Peruvian Hair * Indian Hair * Malaysian Hair * Color Hair Weave * Remy Youth Series * Remy Youth Series * Body Wave * Straight Hair * Deep Wave * Curly Hair * Bundles Deal * Bundles Deal * 1 Piece/Pack * 3 Piece/Pack * 4 Piece/Pack * Weave Ponytail * Wigs * Wigs * All Wigs * Wigs By Lace Size * Wigs By Lace Size * Glueless HD Wigs * Lace Front Wigs * 5x5 HD Lace Wigs * 13x4 HD Lace Wigs * 4x4 Lace Closure Wigs * U/V Part Wigs * Lace Part Wigs * 4x4 Lace Part Wigs * 13x4 Lace Front Wigs * 13x5 Middle Part Wigs * 13x6 Lace Front Wigs * 360 Lace Front Wigs * Wigs By Color * Wigs By Color * Colored Wigs * Ombre Highlight Wigs * Blonde Colored Wigs * Reddish Brown Wigs * Balayage Colored Wigs * Ginger Colored Wigs * Red Colored Wigs * Brown Colored Wigs * Fall Colored Wigs * Wig Textures * Wig Textures * Body Wave Wigs * Kinky Curly Wigs * Kinky Straight Wigs * Jerry Curly Wigs * Bone Straight Wigs * Layered hairstyles * Water Wave Wigs * Deep Wave Wigs * Loose Wave Wigs * Short Bob Lace Wigs * Wigs By Price * Wigs By Price * All Wigs Under $100 * All Wigs $100-$200 * Headband Wigs Under $100 * Machine Made Wig $40-$120 * Short Bob Wigs $40-$200 * Wigs By Density * Wigs By Density * Heavy Density Wigs * Thick Density Wigs * Regular Density Wigs * Natural Density Wigs * ❤ New In * ❤ New In * ❤ All New In Wigs * ❤ New in Octorber * ❤ YTbers Recommend * ❤ Lace Front Wigs * HD Glueless Wigs * ❤ Sales * ❤ Sales * Brand Day Sale * Points Reward Gift * Bomb Flash Sale * Clearance Wigs * Hair Promoter * Lace Frontal * Lace Frontal * Lace Closure & Frontal * Lace Closure & Frontal * 4*4 Lace Closure * 5x5 HD Lace Closure * 13*4 Lace Frontal * 3 Bundles with 4*4 Closure * 4 Bundles with 4*4 Closure * 3 Bundles with 13*4 Frontal Closure * 4 Bundles with 13*4 Frontal Closure * Hot Wholesale Log in Create an account (function(){ let w = window.innerWidth; function setHeaderCssVar() { const headerEle = document.getElementById('shoplaza-section-header'); if(!headerEle){ return }; document.body.style.setProperty('--window-height', `${window.innerHeight}px`); document.body.style.setProperty('--header-height', `${headerEle.clientHeight}px`); const mdScorllHideEle = headerEle.querySelector('.header__mobile .header__scroll_hide'); if (mdScorllHideEle) { document.body.style.setProperty('--header-scroll-hide-height-md', `${mdScorllHideEle.clientHeight}px`); } const pcScorllHideEle = headerEle.querySelector('.header__desktop .header__scroll_hide'); if (pcScorllHideEle) { document.body.style.setProperty('--header-scroll-hide-height-pc', `${pcScorllHideEle.clientHeight}px`); } } function handlResize() { if(w == window.innerWidth){return}; w = window.innerWidth; setHeaderCssVar(); }; function init(){ setHeaderCssVar(); window.removeEventListener('resize', window._theme_header_listener) window._theme_header_listener = handlResize; window.addEventListener('resize', window._theme_header_listener); } init(); })(); Lace Front Wigs ${function(){ const product_total = data.total if(product_total <= 1){ return `${product_total} Product` } return `${product_total} Products` }()} 164 Products Filter selected Reset ${item.label} (${item.count}) ${data.title} 0 selected Reset In stock (164) Out of stock (0) Availability Reset ${("The highest price is {{ highest_price }}").replace(/\{\{\s*highest_price\s*\}\}/, ``)} $ $ ${data.title} Reset The highest price is $ $ Price selected Reset ${item.label} (${item.count}) ${data.title} 0 selected Reset mysite (164) Vendor more than - Clear all Filter ${data.title} ${data.title} ${item.label} (${item.count}) ${data.title} ${data.title} ${("The highest price is {{ highest_price }}").replace(/\{\{\s*highest_price\s*\}\}/, ``)} $ $ Clear all Apply Filter ${data.label} more than - Clear all BROWN GOLDEN WITH PIANO HIGHLIGHTS BLUNT CUT BOB 13X5 T PART LACE FRONT WIG 100% HUMAN HAIR WIGS from $143.63 Save $22.00 Save $22.00 PIXIE CUT 2- SHORT FRONT HAIR WIGS 180% DENSITY BRAZILIAN PIXIE WIGS NON- MIDDLE RATION from $44.99 $66.99 Save $54.66 Save $54.66 BODY WAVE LACE FRONTAL CLOSURE DEALS, 13*4 EAR TO EAR, FREE PART, 100% VIRGIN HUMAN HAIR from $182.99 $237.65 OMBRE HIGHLIGHT SIDE PART SHORT BOB LACE FRONTAL WIG NEW WAVE FOR ANY FACE SHAPES $135.06 13X4 LACE FRONT BONE STRAIGHT LAYERED HAIRCUT CHOCOLATE BROWN COLOR HUMAN HAIR WIGS from $224.25 Save $73.46 Save $73.46 OMBRE COLOR GINGER CURLY BOB HUMAN HAIR WIGS PREPLUCKED SHORT CURLY LACE FRONT WIGS WITH BABY HAIR from $188.89 $262.35 Save $44.81 Save $44.81 DEEP WAVE 13*4 EAR TO EAR LACE FRONTAL CLOSURE- HAIR from $150.01 $194.82 Save $131.57 Save $131.57 13X6 HD LACE FRONT HUMAN HAIR WIGS 180% DENSITY STRAIGHT GLUELESS WIGS PRE PLUCKED NATURAL HAIRLINE from $307.00 $438.57 Save $76.11 Save $76.11 OMBER GOLDEN BLONDE COLOR 13X4 LACE FRONTAL WIG SHORT BOB WITH BROWN ROOT from $177.60 $253.71 Save $98.25 Save $98.25 BEST WAVY WATER WAVE LACE FRONT WIGS 100% VIRGIN HUMAN HAIR 150% DENSITY from $229.25 $327.50 Save $44.81 Save $44.81 VIRGIN CURLY LACE FRONTAL CLOSURE 13*4 EAR TO EAR, 100% VIRGIN HUMAN HAIR from $150.01 $194.82 Save $110.05 Save $110.05 BEST 13X4 TRANSPARENT LACE FRONTAL WIGS JERRY CURLY HUMAN HAIR WIGS FLASH SALE from $109.00 $219.05 123...14 No products found Use fewer filters or clear all RECENTLY VIEWED WELCOME TO LUWWIG luxurywig@outlook.com * ABOUT OUR THEME With LUWWIG' collections, our aim is to make you feel comfortable and express your absolute individuality with ease. Wearing any of our wigs, you'll show your perfect self, reminding you to be your best self, a healthy and confident person. WELCOME TO LUWWIG luxurywig@outlook.com * ABOUT OUR THEME With LUWWIG' collections, our aim is to make you feel comfortable and express your absolute individuality with ease. Wearing any of our wigs, you'll show your perfect self, reminding you to be your best self, a healthy and confident person. QUICK LINKS * ABOUT US * CONTACT US * COMPANY POLICY * DELIVERY & SHIPPING * PRIVACY POLICY * PAYMENT METHOD * RETURN POLICY * TERMS OF SERVICES * FAQ * INTELLECTUAL PROPERTY RIGHTS QUICK LINKS * ABOUT US * CONTACT US * COMPANY POLICY * DELIVERY & SHIPPING * PRIVACY POLICY * PAYMENT METHOD * RETURN POLICY * TERMS OF SERVICES * FAQ * INTELLECTUAL PROPERTY RIGHTS We accept * American Express * Apple Pay * Mastercard * PayPal * Visa We accept * American Express * Apple Pay * Mastercard * PayPal * Visa © 2024 Luwwig CART Your shopping bag is empty Continue shopping * ${item.product_title} * ${item.options.map(option => option.value).join('/')} * ${propertie.name}/${propertie.isImage ? `View image` : propertie.value} Free gift Mixed Lot *${item.quantity} ${item.item_text} ${discount_item.title} (-) Total: ${function() { const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 && textArray.length < 2) { textArray.push(''); } return textArray.map((text, index) => { if (index == 0) { return `${text}`; } return ` ${text} `; }).join(''); }()} ${function() { const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 && textArray.length < 2) { textArray.push(''); } return textArray.map((text, index) => { if (index == 0) { return `${text}`; } return ` ${text} `; }).join(''); }()} * ${discount_application.title}: - ${data.invalid_msg} Check out Taxes and shipping calculated at checkout ${data.invalid_msg} Total: ${function() { const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 && textArray.length < 2) { textArray.push(''); } return textArray.map((text, index) => { if (index == 0) { return `${text}`; } return ` ${text} `; }).join(''); }()} ${function() { const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 && textArray.length < 2) { textArray.push(''); } return textArray.map((text, index) => { if (index == 0) { return `${text}`; } return ` ${text} `; }).join(''); }()} ${function() { const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 && textArray.length < 2) { textArray.push(''); } return textArray.map((text, index) => { if (index == 0) { return `${text}`; } return ` ${text} `; }).join(''); }()} * ${discount_application.title}: - Check out ${data.invalid_msg} Check out Taxes and shipping calculated at checkout * Subtotal: * ${discount_application.title}: - Total: Check out Taxes and shipping calculated at checkout const summaryStickyRender = document.querySelector('#cart-drawer-summary-sticky-render'); if (summaryStickyRender) { document.body.style.setProperty('--cart-drawer-summary-sticky-height', summaryStickyRender.clientHeight + 'px'); } View Cart ${function(){ const productData = data.product; let product_change_event = '', mouse_over_event = ' '; mouse_out_event = ''; const product_options = productData.options.filter(Boolean) || []; for (let opt of product_options) { const nameEscape = opt.name.replace(/\/|\\|\s|\'|\"|`|\<|\>/g, '') product_change_event = product_change_event + `quick-shop-selected-variant-${opt.id}.rerender(data=event.selectedValues.${opt.name});`; mouse_out_event = mouse_out_event + `@${nameEscape}Mouseout="quick-shop-selected-variant-${opt.id}.rerender(data=event.selectData.${opt.name}, redo=true);"`; mouse_over_event = mouse_over_event + `@${nameEscape}Mouseover="quick-shop-selected-variant-${opt.id}.rerender(data=event, redo=true);"`; } const selectedVariant = productData.variants.find(v => v.available) || productData.variants[0]; const statusLan = ((selectedVariant && !selectedVariant.available) || (!selectedVariant && !productData.available)) ? "Sold out" : "Add to cart"; return ` ${statusLan} ` }()} ${function(){ const currentSelectVariant = data.variant; const defaultVariant = (data.product && data.product.variants && data.product.variants[0]); const variantData = currentSelectVariant || defaultVariant || data; const retail_price = variantData.retail_price || 0; return ` Retail ` }()} ${function(){ const wholesale_enabled = false; const qty = data.quantity || 1; const currentSelectVariant = data.variant; const defaultVariant = (data.product && data.product.variants && data.product.variants[0]); const productVariant = null; const variantData = currentSelectVariant || defaultVariant || productVariant; const wholesale_price = variantData.wholesale_price || []; if(wholesale_enabled && wholesale_price.length > 0) { let wholesaleIndex = wholesale_price.findIndex(item => { return item.min_quantity > qty; }); if(wholesaleIndex < 0){ wholesaleIndex = wholesale_price.length - 1; }else if(wholesaleIndex > 0){ wholesaleIndex = wholesaleIndex - 1; } const wholesalePrice = wholesale_price[wholesaleIndex] || ''; return ` ` }else { const price = variantData && variantData.price; return price != undefined ? ` ` : ''; } }()} ${function() { let variantImageShowed = false; const currentProduct = data.product; return (currentProduct.options || []).map((option, index) => { const optionName = option.name || ''; const optionId = option.id || ''; const position = `option${index + 1}`; let isThumbImage = false; if (currentProduct.need_variant_image && !variantImageShowed) { const variantNames = ["color"] || []; for (let i = 0, len = variantNames.length; i < len; i++) { const name = variantNames[i].toLowerCase(); if (name === optionName.toLowerCase()) { isThumbImage = true; variantImageShowed = true; } } } const variantType = "button"; const thumbStyle = "image_with_text"; return ` ${optionName}: ${option.values.map((value, idx) => { const selected = data.selectedValues[optionName] == value ? 'checked' : ''; let thumbImage = null; if (isThumbImage) { const variants = currentProduct.variants; for (let i = 0, len = variants.length; i < len; i++) { const variant = variants[i]; if (variant[position] == value && thumbImage == null) { thumbImage = variant.image; break; } } } return ` ${value} ` }).join('')} ${optionName} ${option.values.map(value => { const selected = data.selectedValues[optionName] == value ? 'selected' : ''; return `${value}` }).join('')} ` }).join(''); }()} ${data.originData && data.originData.value || data.value} 111 Item has been added ${(function(){ const products = data.products; const getDefaultVariant = function(product){ if (product.min_price_variant.available){ return product.min_price_variant; }else { const avail_variants = product.variants.filter(function(variant){ return variant.available; }); if (avail_variants.length) { return avail_variants[0]; } } }; const toQuery = obj => Object.keys(obj) .map(k => Array.isArray(obj[k]) ? obj[k].map(v => `${k}[]=${encodeURIComponent(v)}`).join('&') : `${k}=${encodeURIComponent(obj[k])}` ) .join('&'); const getDefaultTrackParams = function(product, index){ const variant = getDefaultVariant(product); const params = { aid: 'smart_recommend.2.' + data.id, scm: product.scm || data.scm || '', spm: data.spmBase + '.' + index, ssp: data.ssp || '', }; const trackParams = Object.keys(params).map(function(key){ return params[key]; }).join('__'); return trackParams; }; const hasMore = (data.products.length - data.target_top_product_num - data.page * data.limit) === 0; return ` ${(function(){ return ` ${data.config.pop_title} ${data.rebate_tips || ''} `; })()} ${product.title} Added `; })()} class SpzCustomComponent extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.container_ = null; this._atcLineItem = {}; this.cart_ = {}; this.top_product_ids_ = []; this.products_ = []; this.activityId_ = null; this.rendered_ = false; this.myInterceptor_ = null; this.i18n_ = {}; this.config_ = {}; this.page_ = 1; this.limit_ = 10; this.loading_ = false; } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.templates_ = SPZServices.templatesForDoc(this.element); this.setAction_(); } mountCallback() { console.log('pop mounted'); this.i18n_ = window.smartRecommendI18n && window.smartRecommendI18n[document.documentElement.lang || 'en-US'] || {}; const cartPopRenderEl = document.getElementById("smart_cart_pop_render"); const modalEl = document.getElementById("smart_cart_pop_modal"); const spmBase = `smart_recommend_2`; const extra = { spmBase: spmBase, i18n: this.i18n_, }; const that = this; document.addEventListener('dj.addToCart', (event) => { try { const e = event.detail; if (e.source === 'buy_now' || window.__upsell_block || this.rendered_) return; that.fetchActivityData({product_id: e.product_id, variant_id: e.variant_id}).then(data => { if (!data || !data.products || !data.products.length) return; that.config_ = data.config; const recommendStyle = document.createElement('style'); recommendStyle.innerHTML = ` #plugin_recommend_atc_pop { display: none !important; } `; document.head.appendChild(recommendStyle); if (data.config.pop_frequency === 'once' && window.sessionStorage.getItem('smart_pop_times') > 0) return; SPZ.whenApiDefined(cartPopRenderEl).then(function(api){ api.render(Object.assign({}, data, extra), true).then(function() { that.rendered_ = true; if (data.products.length) { const headEl = document.getElementById("smart_cart_pop_head_render"); if (headEl) { SPZ.whenApiDefined(headEl).then(function(head){ head.render({ data: data }); }); } SPZ.whenApiDefined(modalEl).then(function(api){ that.impressListen('#smart_cart_pop_activity', function(){ that.trackPluginImpression_(data); }); api.open(); const intersectionObserver = new IntersectionObserver( function (entries) { if (entries[0].intersectionRatio > 0){ !that.loading_ && (that.products_.length - that.target_top_product_num_) === that.page_ * that.limit_ && that.viewMore(); } }, { threshold: [0.1] } ); intersectionObserver.observe( document.querySelector('#smart_cart_pop_view_more_text') ); }); } }) }); }) } catch (e) { console.error(e); } }); } unmountCallback() { } viewMore () { const cartPopRenderEl = document.getElementById("smart_cart_pop_render"); const that = this; const data = {}; SPZ.whenApiDefined(cartPopRenderEl).then(function(api){ that.fetchActivityData({ page: that.page_ + 1, limit: that.limit_ }).then(function(data) { data.products = that.products_; data.target_top_product_num = that.target_top_product_num_; data.i18n = that.i18n_; data.spmBase = `smart_recommend_2`; api.render(data); }) }) } fetchActivityData(data) { const that = this; if (data.product_id) { that._atcLineItem = data; } that.loading_ = true; return that.getCart().then(cart => { that.cart_ = cart.cart; return fetch(window.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} `; })()} GIFTS POINTS