4-Compartment Travel Case - Black
Rated 4.8 out of 5 stars
947 Reviews
variant.price){
onSale = true;
}else{
onSale = false;
}
}"
@set-onetime-price.window="if($event.detail.id == 8187742486709) {
if(!$event.detail.subscribe){
variant.price = $event.detail.new_price;
variant.orignal_price = $event.detail.new_orignal_price;
}
}"
@set-subscription-price.window="if($event.detail.id == 8187742486709) {
if($event.detail.subscribe){
variant.price = $event.detail.new_price;
variant.orignal_price = $event.detail.new_orignal_price;
}
}"
@discounted-price.window="if($event.detail.id == 8187742486709) {
variant.price = $event.detail.new_price;
variant.orignal_price = $event.detail.new_orignal_price;
}"
@variant-updated.window="variant.price = $event.detail.variant.price; if(!isBundle){ soldOut = !$event.detail.availibility }"
@discount-applied.window="$nextTick(() => checkDiscountCode())"
@discount-removed.window="$nextTick(() => checkDiscountCode())"
class="price text-xl justify-center lg:justify-between font-semibold flex gap-x-2 items-center price--on-sale price--show-badge ">
Preço de saldo
2.700 kr
Preço normal
3.400 kr
Preço unitário
por
styles:
{
discount_percentage = $event.detail?.percentage || 0;
})"
x-init="$watch('selected', value => {
if (value.length != total_items) {
discount_percentage = 0;
}else{
discount_percentage = 0;
}
const cookieDiscount = Unick.getCookie('discount_code');
if(cookieDiscount){
const discount = discount_table.find((item) => {
return item.toLowerCase().includes(cookieDiscount.toLowerCase());
});
const discountValue = discount?.split(':')[1] || 0;
discount_percentage += parseInt(discountValue);
}
})"
x-data="{
discount_table: JSON.parse(JSON.stringify(`WINTER24:20,Secretsale:25,Kitsch25:25,FB20:20,WELCOME20:20,Kitschwelcome:20,SUMMEREND:20,15Kitsch:15,Fall15:15,CODE10:10,HAIRDAY24:25,discount:28, discount:25`)).split(','),
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: 5,
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;
return total - extraDiscount;
},
addToCart(){
let cartObj = [];
let bundleTitle = `4-Compartment Travel Case - Black`;
let bundleHandle = `4-compartment-travel-case-black`;
let bundleCount = 5;
let bundleQty = 1;
let index = 0;
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 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:
4-Compartment Travel Case - Black
2.700 kr
2.700 kr
Barra de condicionador nutritivo com óleo de rícino
1.900 kr
1.900 kr
Champô nutritivo de óleo de rícino em barra
1.900 kr
1.900 kr
Barra de rosto e corpo com ácido kójico
2.000 kr
2.000 kr
Esfoliante corporal de açúcar
1.600 kr
1.600 kr
{
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;
})">
4-Compartment Travel Case - Black
variant.price){
onSale = true;
}else{
onSale = false;
}
}"
@set-onetime-price.window="if($event.detail.id == 8187742486709) {
if(!$event.detail.subscribe){
variant.price = $event.detail.new_price;
variant.orignal_price = $event.detail.new_orignal_price;
}
}"
@set-subscription-price.window="if($event.detail.id == 8187742486709) {
if($event.detail.subscribe){
variant.price = $event.detail.new_price;
variant.orignal_price = $event.detail.new_orignal_price;
}
}"
@discounted-price.window="if($event.detail.id == 8187742486709) {
variant.price = $event.detail.new_price;
variant.orignal_price = $event.detail.new_orignal_price;
}"
@variant-updated.window="variant.price = $event.detail.variant.price; if(!isBundle){ soldOut = !$event.detail.availibility }"
@discount-applied.window="$nextTick(() => checkDiscountCode())"
@discount-removed.window="$nextTick(() => checkDiscountCode())"
class="price flex gap-x-2 items-center price--on-sale ">
Preço de saldo
2.700 kr
Preço normal
3.400 kr
Preço unitário
por
{
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 Pack Your Kitsch Travel Case
1. Beauty On-the-Go
2. Sleek Leak-Proof Design
3. Functional Divider
4. Eco Travel Pro