Cherry Print Oversized Satin Bonnet
8066641395893
Rated 4.7 out of 5 stars
288 Reviews
variant.price){
onSale = true;
}else{
onSale = false;
}
}"
@set-onetime-price.window="if($event.detail.id == 8066641395893) {
if(!$event.detail.subscribe){
variant.price = $event.detail.new_price;
variant.original_price = $event.detail.new_original_price;
}
}"
@set-subscription-price.window="if($event.detail.id == 8066641395893) {
if($event.detail.subscribe){
variant.price = $event.detail.new_price;
variant.original_price = $event.detail.new_original_price;
}
}"
@discounted-price.window="if($event.detail.id == 8066641395893) {
variant.price = $event.detail.new_price;
variant.original_price = $event.detail.new_original_price;
code_discount_active = $event.detail.code_discount_active;
}"
@variant-updated.window="variant.price = $event.detail.variant.price; if(!isBundle){ soldOut = !$event.detail.availibility }"
@discount-applied.window="$nextTick(() => checkDiscountCode(true))"
@discount-removed.window="$nextTick(() => checkDiscountCode(true))"
class="price text-xl justify-center lg:justify-between font-semibold flex gap-x-2 items-center price--show-badge ">
Unit price
per
styles:
limited edition:
{
discount_percentage = $event.detail?.percentage || 0;
})"
x-init="$watch('selected', value => {
if (value.length != total_items) {
discount_percentage = 0;
}else{
discount_percentage = 0;
}
})"
x-data="{
renderPrice(price){
let total = price;
if(this.discount_percentage > 0){
total = price - (price * (this.discount_percentage / 100));
}
return Unick.formatMoney(total);
},
selected: [],
fixed_product: false,
discount_percentage: 0,
total_items: 4,
imgSrc(src, width) {
if (!src) return '';
if (/[?&]width=/.test(src)) return src.replace(/([?&]width=)\d+/, '$1' + width);
return src + (src.includes('?') ? '&' : '?') + 'width=' + width;
},
getSrcset(src) {
if (!src) return '';
return [72, 100, 144, 200].map(w => this.imgSrc(src, w) + ' ' + w + 'w').join(', ');
},
add(item) {
this.selected.push(item)
},
remove(id) {
this.selected = this.selected.filter(item => item.id !== id)
},
isInBundle(id) {
return this.selected.some(item => item.id === id)
},
priceBeforeDiscount(){
let total = 0;
this.selected.forEach(function (item) {
total += item.price;
})
return total;
},
totalPrice(){
let total = 0;
this.selected.forEach(function (item) {
total += item.price;
})
total = total - (total * (this.discount_percentage / 100));
let extraDiscount = 0;
let discount = 0;
this.selected.forEach(function (item) {
item.tags.forEach(function (tag) {
if(tag.includes('discount:') || tag.includes('Discount:') || tag.includes('discount: ') || tag.includes('Discount: ')){
discount = tag.split(':')[1];
}
})
})
if(discount > 0){
extraDiscount = total * (discount / 100);
}
return total - extraDiscount;
},
addToCart(){
let cartObj = [];
let bundleTitle = `Cherry Print Oversized Satin Bonnet`;
let bundleHandle = `cherry-print-oversized-satin-bonnet`;
let bundleCount = 4;
let bundleQty = 1;
let index = 0;
// Update button text to 'adding...'
this.$refs.addToCartButton.textContent = 'Adding...';
this.selected.forEach(function (item) {
cartObj.push({
quantity: 1,
id: item.variants[0].id,
properties: {
'_fbt_bundle': bundleTitle,
'_fbt_bundle_handle': bundleHandle,
'_fbt_bundle_count': bundleCount,
}
})
})
if(this.fixed_product && this.total_items == this.selected.length){
cartObj = [];
cartObj.push({
quantity: 1,
id: this.fixed_product,
})
}
fetch(routes.cart_add_url + '.js', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
items: cartObj
})
})
.then(response => {
// Update button text back to 'add to cart'
this.$refs.addToCartButton.textContent = 'Add to cart';
// Update cart with event dispatch
this.$dispatch('update-cart', { cart: response });
// Open cart after adding product
this.$dispatch('toggle-cart-drawer');
});
}
}">
+
Frequently Bought Together
Total price:
Cherry Print Oversized Satin Bonnet
491,40 Kč
Cherry Print Satin Shower Cap
647,40 Kč
Satin Pillowcase in Cherry Print
647,40 Kč
Cherry Blossom Ruched Satin Scrunchies 5pc Set
268,32 Kč
{
discount_percentage = $event.detail?.percentage || 0;
})"
x-init="$watch('selected', value => {
if (value.length != total_items) {
discount_percentage = 0;
}else{
discount_percentage = 0;
}
})"
x-data="{
renderPrice(price){
let total = price;
if(this.discount_percentage > 0){
total = price - (price * (this.discount_percentage / 100));
}
return Unick.formatMoney(total);
},
selected: [],
fixed_product: false,
discount_percentage: 0,
total_items: 4,
imgSrc(src, width) {
if (!src) return '';
if (/[?&]width=/.test(src)) return src.replace(/([?&]width=)\d+/, '$1' + width);
return src + (src.includes('?') ? '&' : '?') + 'width=' + width;
},
getSrcset(src) {
if (!src) return '';
return [72, 100, 144, 200].map(w => this.imgSrc(src, w) + ' ' + w + 'w').join(', ');
},
add(item) {
this.selected.push(item)
},
remove(id) {
this.selected = this.selected.filter(item => item.id !== id)
},
isInBundle(id) {
return this.selected.some(item => item.id === id)
},
priceBeforeDiscount(){
let total = 0;
this.selected.forEach(function (item) {
total += item.price;
})
return total;
},
totalPrice(){
let total = 0;
this.selected.forEach(function (item) {
total += item.price;
})
total = total - (total * (this.discount_percentage / 100));
let extraDiscount = 0;
let discount = 0;
this.selected.forEach(function (item) {
item.tags.forEach(function (tag) {
if(tag.includes('discount:') || tag.includes('Discount:') || tag.includes('discount: ') || tag.includes('Discount: ')){
discount = tag.split(':')[1];
}
})
})
if(discount > 0){
extraDiscount = total * (discount / 100);
}
return total - extraDiscount;
},
addToCart(){
let cartObj = [];
let bundleTitle = `Cherry Print Oversized Satin Bonnet`;
let bundleHandle = `cherry-print-oversized-satin-bonnet`;
let bundleCount = 4;
let bundleQty = 1;
let index = 0;
this.$refs.addToCartButton.textContent = 'Adding...';
this.selected.forEach(function (item) {
cartObj.push({
quantity: 1,
id: item.variants[0].id,
properties: {
'_fbt_bundle': bundleTitle,
'_fbt_bundle_handle': bundleHandle,
'_fbt_bundle_count': bundleCount,
}
})
})
if(this.fixed_product && this.total_items == this.selected.length){
cartObj = [];
cartObj.push({
quantity: 1,
id: this.fixed_product,
})
}
fetch(routes.cart_add_url + '.js', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
items: cartObj
})
})
.then(response => {
this.$refs.addToCartButton.textContent = 'Add selected to cart';
this.$dispatch('update-cart', { cart: response });
this.$dispatch('toggle-cart-drawer');
});
}
}">
Frequently Bought Together
Cherry Print Oversized Satin Bonnet
491,40 Kč
Cherry Print Satin Shower Cap
647,40 Kč
Satin Pillowcase in Cherry Print
647,40 Kč
Cherry Blossom Ruched Satin Scrunchies 5pc Set
268,32 Kč
Total Price:
{
let mainAddToCart = document.querySelector('.product__info-wrapper .button-add-to-cart, .product__info-wrapper .product-form__submit');
if(mainAddToCart) {
let rect = mainAddToCart.getBoundingClientRect();
// Hide floating cart when main button is visible (with some buffer)
show = rect.top > window.innerHeight || rect.bottom < 0;
} else {
// If main button not found, show floating cart
show = true;
}
})"
x-init="$nextTick(() => {
// Delay initialization to ensure Alpine has rendered the main add-to-cart button
setTimeout(() => {
let mainAddToCart = document.querySelector('.product__info-wrapper .button-add-to-cart, .product__info-wrapper .product-form__submit');
if(mainAddToCart) {
let rect = mainAddToCart.getBoundingClientRect();
show = rect.top > window.innerHeight || rect.bottom < 0;
} else {
// Fallback: show sticky cart if main button not found after delay
show = true;
}
}, 500);
})"
class="add-to-cart-footer p-3 bg-white text-black fixed bottom-0 w-full z-20 shadow border-t">
{
selectOptions[$event.detail?.position] = $event.detail?.event?.target.value;
let getVariant = Unick.findVariant(variants , selectOptions);
selectedVariant = (getVariant) ? getVariant : null;
})">
Cherry Print Oversized Satin Bonnet
variant.price){
onSale = true;
}else{
onSale = false;
}
}"
@set-onetime-price.window="if($event.detail.id == 8066641395893) {
if(!$event.detail.subscribe){
variant.price = $event.detail.new_price;
variant.original_price = $event.detail.new_original_price;
}
}"
@set-subscription-price.window="if($event.detail.id == 8066641395893) {
if($event.detail.subscribe){
variant.price = $event.detail.new_price;
variant.original_price = $event.detail.new_original_price;
}
}"
@discounted-price.window="if($event.detail.id == 8066641395893) {
variant.price = $event.detail.new_price;
variant.original_price = $event.detail.new_original_price;
code_discount_active = $event.detail.code_discount_active;
}"
@variant-updated.window="variant.price = $event.detail.variant.price; if(!isBundle){ soldOut = !$event.detail.availibility }"
@discount-applied.window="$nextTick(() => checkDiscountCode(true))"
@discount-removed.window="$nextTick(() => checkDiscountCode(true))"
class="price flex gap-x-2 items-center">
Unit price
per
{
qty = $event.detail.qty;
})"
x-init="$nextTick(() => {
$watch('qty', value => {
console.log('qty', value);
$dispatch('quantity-updated', { qty: value });
});
});"
@quantity-updated.window="$nextTick(() => {
qty = $event.detail.qty;
})"
x-data="{ qty: 1 }">
4 Reasons To Start Sleeping in a Satin Bonnet
1. sleep like royalty
2. morning magic, minus the frizz
3. tailored for you
4. boost your beauty sleep