Gifts for Mom - Best Mom Ever Coffee Mug, Best Mom Gifts for Mothers Day, Birthday Gifts, Mother's Day Gifts, Christmas Gifts, Futtumy 14 fl oz Pink Marble Coffee Mugs Ceramic Mug Tea Cup
Gifts for Mom - Best Mom Ever Coffee Mug, Best Mom Gifts for Mothers Day, Birthday Gifts, Mother's Day Gifts, Christmas Gifts, Futtumy 14 fl oz Pink Marble Coffee Mugs Ceramic Mug Tea Cup
${function() {
const variantData = data.variant || {"id":"2dadd9e8-8258-4475-a9fe-438887b8aea7","product_id":"c1dda468-92a7-4709-a375-1617871772b2","title":"","weight_unit":"lb","inventory_quantity":0,"sku":"W-CM831-FBM9","barcode":"","position":1,"option1":"","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":20.91,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"20.91","retail_price":"0","available":true,"url":"\/products\/gifts-for-mom-best-mom-ever-coffee-mug-best-mom-gifts-for-mothers-day-birthday-gifts-mothers-day-gifts-christmas-gifts-futtumy-14-fl-oz-pink-marble-coffee-mugs-ceramic-mug-tea-cup?variant=2dadd9e8-8258-4475-a9fe-438887b8aea7","available_quantity":999999999,"options":[],"off_ratio":"0","flashsale_info":{"variant_id":"2dadd9e8-8258-4475-a9fe-438887b8aea7","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":"20.91","compare_at_price":"","discount_price":"20.91","customary_saved_price":"","customary_off_ratio":"","discount_saved_price":"","discount_off_ratio":"0","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)) 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.
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.
Best Mother's Day Gift!!!
Futtumy "Best Mom Ever" coffee mugs is a best gift choice for send mother on Mothers Day, Christmas, Thanksgiving, birthday and other special occasions. Choose this mother mugs as mothers day gifts, birthday gifts to express your wishes. Gifting this mother mug will definitely make her happy.
Material: Ceramic
Color: Pink
Capacity: 14 fl oz
Package included:
1 x Coffee Mug
1 x Gold Spoon
1 x Marble Coaster
1 x Gift Box Package
Warm Notice: Dishwasher safe but microwave not safe.
Special Feature: Mother's Day Gifts, Birthday Gifts, Mother Gifts, Birthday, Christmas, Thanksgiving.
Futtumy mother coffee mugs have comfortable handle and top quality, c-shape handle easy to hold and hard to fall off, it is made of top grade food grade ceramic and fired at extremely high temperature to ensure its quality. Our mom mug bottom has a non-slip design to ensure that you will not slip in everyday use.
- Best Gifts for Mom:
- Futtumy “Best Mom Ever” mug is nicely designed for the world best mother. It can be used as Christmas, Mothers Day, mother proposal announcement gifts for mothers from child. Appreciate your mother or congrats new mother.
- Hand-Made:
- Futtumy mom mugs is carefully handmade by our workers with high quality food grade material so each mug gift presents unparalleled texture, unique and special, let this mug be your exclusive gift for mom.
- Safe and Durable:
- Futtumy best mom ever coffee mug made of high quality food grade ceramics, combined modern technology, pattern is clear and durable and will never fall off, dishwasher safe, 14 fl oz capacity, fully satisfy your daily use.
- Non-Slip Design:
- Futtumy mom mugs bottom has a non-slip design to ensure that you will not slip in everyday use. We have made the rim smooth and handle are gilded with gold. Due to the gold pattern, please don't put it in microwave.
- Intimate Packaging:
- Futtumy use a beautiful gift box with a spoon and coaster. Each mom gift has different marble pattern. This mom coffee mugs which is the best choice for giving gifts or enjoying your exquisite life.
Vendor by :
Futtumy
Sku :
W-CM831-FBM9
Inventory :
999999999
${function(){
const variantData = data.variant || {"id":"2dadd9e8-8258-4475-a9fe-438887b8aea7","product_id":"c1dda468-92a7-4709-a375-1617871772b2","title":"","weight_unit":"lb","inventory_quantity":0,"sku":"W-CM831-FBM9","barcode":"","position":1,"option1":"","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":20.91,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"20.91","retail_price":"0","available":true,"url":"\/products\/gifts-for-mom-best-mom-ever-coffee-mug-best-mom-gifts-for-mothers-day-birthday-gifts-mothers-day-gifts-christmas-gifts-futtumy-14-fl-oz-pink-marble-coffee-mugs-ceramic-mug-tea-cup?variant=2dadd9e8-8258-4475-a9fe-438887b8aea7","available_quantity":999999999,"options":[],"off_ratio":"0","flashsale_info":{"variant_id":"2dadd9e8-8258-4475-a9fe-438887b8aea7","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":"20.91","compare_at_price":"","discount_price":"20.91","customary_saved_price":"","customary_off_ratio":"","discount_saved_price":"","discount_off_ratio":"0","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}
` }()}