Mint Boutique Color Block Drop-shaped Sophisticated Metal Earrings
${function(){
const variantData = data.variant || {"id":"9721e431-6d06-40b6-9c57-ded5a65b67b1","product_id":"50c27de7-a2e5-48a5-af0a-35fa50c86090","title":"Gold-ONE SIZE","weight_unit":"g","inventory_quantity":-27,"sku":"H24073046-GOSS","barcode":"","position":1,"option1":"Gold","option2":"ONE SIZE","option3":"","note":"","image":{"src":"\/\/img.staticdj.com\/9064f5dbde836d258ea3659b3f1a543d.jpeg","path":"9064f5dbde836d258ea3659b3f1a543d.jpeg","width":800,"height":800,"alt":"","aspect_ratio":1},"wholesale_price":[{"price":7.99,"min_quantity":1}],"weight":"100","compare_at_price":"0","price":"7.99","retail_price":"0","available":true,"url":"\/products\/color-block-drop-shaped-sophisticated-metal-earrings?variant=9721e431-6d06-40b6-9c57-ded5a65b67b1","available_quantity":999999999,"options":[{"name":"Color","value":"Gold"},{"name":"Size","value":"ONE SIZE"}],"off_ratio":0,"flashsale_info":[],"sales":38};
return `
Sku : ${variantData && variantData.sku}
`
}()}
${function() {
const variantData = data.variant || {"id":"9721e431-6d06-40b6-9c57-ded5a65b67b1","product_id":"50c27de7-a2e5-48a5-af0a-35fa50c86090","title":"Gold-ONE SIZE","weight_unit":"g","inventory_quantity":-27,"sku":"H24073046-GOSS","barcode":"","position":1,"option1":"Gold","option2":"ONE SIZE","option3":"","note":"","image":{"src":"\/\/img.staticdj.com\/9064f5dbde836d258ea3659b3f1a543d.jpeg","path":"9064f5dbde836d258ea3659b3f1a543d.jpeg","width":800,"height":800,"alt":"","aspect_ratio":1},"wholesale_price":[{"price":7.99,"min_quantity":1}],"weight":"100","compare_at_price":"0","price":"7.99","retail_price":"0","available":true,"url":"\/products\/color-block-drop-shaped-sophisticated-metal-earrings?variant=9721e431-6d06-40b6-9c57-ded5a65b67b1","available_quantity":999999999,"options":[{"name":"Color","value":"Gold"},{"name":"Size","value":"ONE SIZE"}],"off_ratio":0,"flashsale_info":[],"sales":38};
const saveType = "amount";
const productLabelDiscountOn = true;
return `
-
${saveType == 'percentage'
? `-${variantData.off_ratio}%`
: `-`
}
`;
}()}
${function(){
const tipText = "Please select a {{ name }}".replace(/\{\{\s+name\s+\}\}/g, data);
return `${tipText}
`
}()}
${function(){
const tipText = "Please select a {{ name }}".replace(/\{\{\s+name\s+\}\}/g, data);
return `${tipText}
`
}()}
Product was out of stock.
Product is unavailable.
Color block drop-shaped metal earrings for a sophisticated, modern touch.
Details:
Tips:
It is better to go up a size if you like more loose.
Due to the many variations in monitors, the color in the image could look slightly different, please take physical design and color shall prevail.
Please allow 0.4"-1" differs due to manual measurement.
/** @private {string} */
class SpzCustomAnchorScroll extends SPZ.BaseElement {
static deferredMount() {
return false;
}
constructor(element) {
super(element);
/** @private {Element} */
this.scrollableContainer_ = null;
}
isLayoutSupported(layout) {
return layout == SPZCore.Layout.LOGIC;
}
buildCallback() {
this.viewport_ = this.getViewport();
this.initActions_();
}
setTarget(containerId, targetId) {
this.containerId = '#' + containerId;
this.targetId = '#' + targetId;
}
scrollToTarget() {
const container = document.querySelector(this.containerId);
const target = container.querySelector(this.targetId);
const {scrollTop} = container;
const eleOffsetTop = this.getOffsetTop_(target, container);
this.viewport_
.interpolateScrollIntoView_(
container,
scrollTop,
scrollTop + eleOffsetTop
);
}
initActions_() {
this.registerAction(
'scrollToTarget',
(invocation) => this.scrollToTarget(invocation?.caller)
);
this.registerAction(
'setTarget',
(invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId)
);
}
/**
* @param {Element} element
* @param {Element} container
* @return {number}
* @private
*/
getOffsetTop_(element, container) {
if (!element./*OK*/ getClientRects().length) {
return 0;
}
const rect = element./*OK*/ getBoundingClientRect();
if (rect.width || rect.height) {
return rect.top - container./*OK*/ getBoundingClientRect().top;
}
return rect.top;
}
}
SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll);
const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings";
class SpzCustomStrengthenTrust extends SPZ.BaseElement {
constructor(element) {
super(element);
this.renderElement_ = null;
}
isLayoutSupported(layout) {
return layout == SPZCore.Layout.CONTAINER;
}
buildCallback() {
this.xhr_ = SPZServices.xhrFor(this.win);
const renderId = this.element.getAttribute('render-id');
SPZCore.Dom.waitForChild(
document.body,
() => !!document.getElementById(renderId),
() => {
this.renderElement_ = SPZCore.Dom.scopedQuerySelector(
document.body,
`#${renderId}`
);
if (this.renderElement_) {
this.render_();
}
this.registerAction('track', (invocation) => {
this.track_(invocation.args);
});
}
);
}
render_() {
this.fetchData_().then((data) => {
if (!data) {
return;
}
SPZ.whenApiDefined(this.renderElement_).then((apis) => {
apis?.render(data);
document.querySelector('#strengthen-trust-render-1539149753700').addEventListener('click',(event)=>{
if(event.target.nodeName == 'A'){
this.track_({type: 'trust_content_click'});
}
})
});
});
}
track_(data = {}) {
const track = window.sa && window.sa.track;
if (!track) {
return;
}
track('trust_enhancement_event', data);
}
parseJSON_(string) {
let result = {};
try {
result = JSON.parse(string);
} catch (e) {}
return result;
}
fetchData_() {
return this.xhr_
.fetchJson(STRENGTHEN_TRUST_URL)
.then((responseData) => {
if (!responseData || !responseData.data) {
return null;
}
const data = responseData.data;
const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => {
return result.concat(Object.assign(moduleSetting, {
logos: (moduleSetting.logos || []).map((item) => {
return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item;
})
}));
}, []);
return Object.assign(data, {
module_settings: moduleSettings,
isEditor: window.self !== window.top,
});
});
}
}
SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);
${data.module_title}
To display this card to customers, you need to go to "Booster & Store Conversion" to turn on the trust enhancement feature.
${item.content.replaceAll("{store_name}","Mint Boutique")}
To display this card to customers, you need to go to "Booster & Store Conversion" to turn on the trust enhancement feature.