Spa Luxetique Hand Cream Gift Sets for Women, Shea Butter Hand Lotion Set, Birthday Gifts for Her, 6x1.0 oz Tube
Spa Luxetique Hand Cream Gift Sets for Women, Shea Butter Hand Lotion Set, Birthday Gifts for Her, 6x1.0 oz Tube
${function() {
const variantData = data.variant || {"id":"a02221c0-4ba3-4a2f-a4ac-1160cf0a9749","product_id":"850d810d-905c-4ce5-84f5-eae56e5f6653","title":"","weight_unit":"lb","inventory_quantity":0,"sku":"Spa-18-07-M","barcode":"","position":1,"option1":"","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":12.99,"min_quantity":1}],"weight":"0","compare_at_price":"19.99","price":"12.99","retail_price":"19.99","available":true,"url":"\/products\/spa-luxetique-hand-cream-gift-sets-for-women-shea-butter-hand-lotion-set-birthday-gifts-for-her-6x1-0-oz-tube?variant=a02221c0-4ba3-4a2f-a4ac-1160cf0a9749","available_quantity":999999999,"options":[],"off_ratio":"35","flashsale_info":{"variant_id":"a02221c0-4ba3-4a2f-a4ac-1160cf0a9749","product_id":"","quantity":0,"discount_id":"","limit_time":0,"limit_buy":0,"user_limit_buy":0,"discount_sales":0,"discount_sales_rate":"","discount_stock":0,"ends_at":0,"starts_at":0,"allow_oversold":"","allocation_method":"","price":"12.99","compare_at_price":"","discount_price":"12.99","customary_saved_price":"","customary_off_ratio":"","discount_saved_price":"","discount_off_ratio":"35","use_before_price":false,"before_price":"","title":"","properties":"","color_setting_promotional_copy":"","discount_quantity":0,"is_need_split":false},"sales":0};
const saveType = null;
const productSaveLabel = null;
return `
-
${ variantData.off_ratio }%
`; }()}
${function(){
return `
${data.starNum}/${data.starTotal}
`;
}()}
${function(){
return `
${data.showStarText === 'true' ? `
${data.starNum}/${data.starTotal}
` : ''}
`;
}()}
const TAG = 'spz-custom-revue-star';
class SPZCustomRevueStar extends SPZ.BaseElement {
constructor(element) {
super(element);
}
static deferredMount() {
return false;
}
buildCallback = () => {
this.action_ = SPZServices.actionServiceForDoc(this.element);
this.templates_ = SPZServices.templatesForDoc(this.element);
this.xhr_ = SPZServices.xhrFor(this.win);
this.starNum = this.element.getAttribute('starNum');
this.starTotal = this.element.getAttribute('starTotal');
this.showStarText = this.element.getAttribute('showStarText');
this.starColor = this.element.getAttribute('color');
this.interact = this.element.getAttribute('interact');
this.starSize = this.element.getAttribute('starSize') || 14;
}
mountCallback = () => {
this.doRender_({
starTotal: this.starTotal,
totalArray: Array.from({ length: Number(this.starTotal) }, (v, k) => k + 1),
starNum: this.starNum,
showStarText: this.showStarText,
starColor: this.starColor,
starSize: this.starSize
}).then(() => {
if (this.interact) {
this.addEventListeners_();
}
});
}
addEventListeners_ = () => {
const stars = document.querySelectorAll('.revue-star__star');
stars.forEach(star => {
star.addEventListener('click', event => {
const starEl = star.closest('.revue-star__star');
const starIndex = Number(starEl.dataset.index);
let isHalf = event.offsetX < star.offsetWidth / 2;
// rtl
if (document.documentElement.getAttribute('dir') === 'rtl') {
isHalf = event.offsetX > star.offsetWidth / 2;
}
const starValue = isHalf ? starIndex - 0.5 : starIndex;
this.starClickHandler_({ value: starValue });
});
});
}
renderStar = () => {
const isRtl = document.documentElement.getAttribute('dir') === 'rtl';
const stars = this.element.querySelectorAll('.revue-star__star');
stars.forEach((star, i) => {
const starIndex = i + 1;
const starEl = star.querySelector('svg:nth-child(2)');
const isHalf = this.starNum % 1 > 0 && Math.ceil(this.starNum) === starIndex;
const isSolid = starIndex <= Math.ceil(this.starNum);
starEl.style.display = isSolid ? 'block' : 'none';
if (isHalf) {
if (isRtl) {
// RTL布局下,如果是半星,显示星星的右半边
starEl.style.clipPath = `polygon(50% 0, 100% 0, 100% 100%, 50% 100%)`;
} else {
// LTR布局下,如果是半星,显示星星的左半边
starEl.style.clipPath = `polygon(0 0, 50% 0, 50% 100%, 0 100%)`;
}
} else {
starEl.style.clipPath = `polygon(0 0, 100% 0, 100% 100%, 0 100%)`
}
});
const showCountEle = this.element.querySelector('#revue-star-show-count');
showCountEle && SPZ.whenApiDefined(showCountEle).then((api) => {
api.render({ starNum: this.starNum, starTotal: this.starTotal });
});
}
doRender_ = (data) => {
return this.templates_
.findAndRenderTemplate(this.element, { starSize: this.starSize, ...data }, null)
.then((el) => {
const children = this.element.querySelector('*:not(template)');
children && SPZCore.Dom.removeElement(children);
this.element.appendChild(el);
})
.then(() => {
this.starNum = data.starNum;
this.renderStar();
});
}
starClickHandler_ = (event) => {
this.starNum = event.value;
this.renderStar();
this.triggerEvent_('change', { value: event.value });
}
triggerEvent_(name, data) {
const event = SPZUtils.Event.create(this.win, `${ TAG }.${ name }`, data || {});
this.action_.trigger(this.element, name, event);
}
isLayoutSupported(layout) {
return layout == SPZCore.Layout.CONTAINER;
}
}
SPZ.defineElement(TAG, SPZCustomRevueStar)
()
try {
const productId = window.SHOPLAZZA.meta.page.resource_id;
const productType = `default`;
const getProductReviews = (star_least) =>
fetch('/api/comment/count-star-multi',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
product_id: [productId],
star_least: star_least || 1,
}),
}).then(res => res.json());
try {
const section = document.querySelector('#revue-product-star');
if(productType === "gift_card" && section) {
section.style.display = 'none';
}
} catch(e) {
console.log(e);
window.addEventListener('load', () => {
try {
const section = document.querySelector('#revue-product-star');
if(productType=== "gift_card" && section) {
section.style.display = 'none';
}
} catch(e) {
console.log(e)
}
})
}
const getReviewsConfig = async () => {
let data = {};
const url = new URL(window.location.href);
const preview_theme_id = url.searchParams.get('preview_theme_id');
const commentConfig = await fetch('/api/comment-config', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
}
}).then(res => res.json());
data = commentConfig.data;
const themeConfig = await fetch(`/api/comment-config?theme_id=${preview_theme_id || ''}`, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
}
}).then(res => res.json());
if (themeConfig?.data && themeConfig.data.star_color) {
data.star_color = themeConfig.data.star_color;
}
if (preview_theme_id) {
data.star_least = window.apps_global && apps_global.reviews && apps_global.reviews.preview_star_least;
} else if (themeConfig?.data && themeConfig.data.product_settings) {
data.star_least = themeConfig.data.product_settings.star_least;
}
return data;
};
if (productId && window.SHOPLAZZA.meta.page.template_type == 1) {
getReviewsConfig().then(async res => {
const config = res;
let review = await getProductReviews(config.star_least);
review = review.data[productId];
if (!config.open_status || (!review.comment_avg_star && !config.show_no_comment_star)) {
const section = document.querySelector('#revue-product-star');
if (section) section.remove();
return;
}
const render = async () => {
const section = document.querySelector('#revue-product-star');
const starComponent = document.querySelector('#revue-product-star-component');
const count = document.querySelector('#revue-product-star-count');
count.innerText = review.published_count;
const api = await SPZ.whenApiDefined(starComponent);
api.doRender_({
starNum: review.comment_avg_star,
starTotal: 5,
showStarText: false,
starColor: config.star_color,
totalArray: Array.from({ length: 5 }, (v, k) => k + 1)
});
section.style.opacity = 1;
}
render();
document.addEventListener('dj.editor.update', render);
});
}
} catch (e) {console.warn(e)};
${function() {
const minInventory = parseInt('7');
const maxInventory = parseInt('10');
const randomInventory = Math.round(Math.random() * (maxInventory - minInventory)) + minInventory;
const customText = "Only {stock} item(s) left in stock!".replace(/\{stock\}/g, '' + randomInventory + '');
const barWidth = (randomInventory / maxInventory) * 100 + '%';
return `
`;
}()}
Product was out of stock.
Product is unavailable.
Enjoy free shipping on every order, delivered to your doorstep no matter where you are in the world.
Shop with confidence with our hassle-free returns policy, ensuring you love what you buy.
Designed with the planet in mind, all our products are committed to sustainable practices.
Your payment information is always protected with our advanced, encrypted checkout security.
This is a cherry-picked gift set of our Hand Therapies – 6 delightful scents hand creams to elevate any hand care routine with an intensely moisturizing experiences. Cruelty free and friendly for most skin types.1oz each is perfect to carry everywhere and for on-the-go cleansing and moisturizing needs. These hand creams leave hands silky-soft, smooth and rejuvenated without greasy.Our hand creams are the ideal present for Christmas, Valentine's, Mother's Day, Birthdays and Anniversaries. A bridesmaid gift on your wedding day perhaps, or just a way of saying congratulations, thank you or I love you to someone special in your thoughts.
- This rich, deeply hydrating and moisturizing hand cream leaves hands silky-soft, smooth and rejuvenated.
- 6 Pleasant Fragrances: Cherry Blossom, Lavender, Green Tea, Shea Almond, Rose, Ocean.
- Richly contain lavender,rose,green tea as well as diversified natural vegetal essence.
- Hand creams are formulated with enriching shea butter, natural aloe and vitamin E.
- 6 Pleasant Fragrances: Cherry Blossom, Lavender, Green Tea, Shea Almond, Rose, Ocean.
- Great for Mother's Day, Anniversary, Birthday, or for no reason at all!
- Non-greasy formula absorbs quickly and feels comfortable all day.
- Perfect "on-the-go" size for your purse and hand bag.
- 6 x 1 oz (30ml) volume is easy to carry and store.
Vendor by :
spa luxetique
Sku :
Spa-18-07-M
Inventory :
999999999
${function(){
const variantData = data.variant || {"id":"a02221c0-4ba3-4a2f-a4ac-1160cf0a9749","product_id":"850d810d-905c-4ce5-84f5-eae56e5f6653","title":"","weight_unit":"lb","inventory_quantity":0,"sku":"Spa-18-07-M","barcode":"","position":1,"option1":"","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":12.99,"min_quantity":1}],"weight":"0","compare_at_price":"19.99","price":"12.99","retail_price":"19.99","available":true,"url":"\/products\/spa-luxetique-hand-cream-gift-sets-for-women-shea-butter-hand-lotion-set-birthday-gifts-for-her-6x1-0-oz-tube?variant=a02221c0-4ba3-4a2f-a4ac-1160cf0a9749","available_quantity":999999999,"options":[],"off_ratio":"35","flashsale_info":{"variant_id":"a02221c0-4ba3-4a2f-a4ac-1160cf0a9749","product_id":"","quantity":0,"discount_id":"","limit_time":0,"limit_buy":0,"user_limit_buy":0,"discount_sales":0,"discount_sales_rate":"","discount_stock":0,"ends_at":0,"starts_at":0,"allow_oversold":"","allocation_method":"","price":"12.99","compare_at_price":"","discount_price":"12.99","customary_saved_price":"","customary_off_ratio":"","discount_saved_price":"","discount_off_ratio":"35","use_before_price":false,"before_price":"","title":"","properties":"","color_setting_promotional_copy":"","discount_quantity":0,"is_need_split":false},"sales":0};
return `
Vendor by :
${data.product && data.product.vendor}
Weight :
${variantData && variantData.weight}${variantData && variantData.weight_unit}
Barcode :
${variantData && variantData.barcode}
Sku :
${variantData && variantData.sku}
Inventory :
${variantData && variantData.available_quantity}
` }()}