Crystal Charm

$51.00
$80.00
Save 36%
1 sold
class SpzCustomDiscountFlashsale extends SPZ.BaseElement { constructor(element) { super(element); this.xhr_ = SPZServices.xhrFor(this.win); this.getFlashSaleApi = "\/api\/storefront\/promotion\/flashsale\/display_setting\/product_setting"; this.timer = null; this.variantId = "5739f42d-c83a-4664-8f29-b04c02418b3c"; // 促销活动数据 this.flashsaleData = {} } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.templates_ = SPZServices.templatesForDoc(); this.viewport_ = this.getViewport(); // 挂载bind函数 解决this指向问题 this.render = this.render.bind(this); this.resize = this.resize.bind(this); this.switchVariant = this.switchVariant.bind(this); } mountCallback() { // 获取数据 this.getData(); this.element.onclick = (e) => { const cur = this.win.document.querySelector(".app_discount_flashsale_desc"); if (this.flashsaleData.product_setting.is_redirection && appDiscountUtils.inProductBody(this.element) && e.target !== cur) { this.win.open(`/promotions/discount-default/${this.flashsaleData.discount_info.id}`); } } // 绑定 this.viewport_.onResize(this.resize); // 监听子款式切换,重新渲染 this.win.document.addEventListener('dj.variantChange', this.switchVariant); } unmountCallback() { // 解绑 this.viewport_.removeResize(this.resize); this.win.document.removeEventListener('dj.variantChange', this.switchVariant); // 清除定时器 if (this.timer) { clearTimeout(this.timer); this.timer = null; } } resize() { if (this.timer) { clearTimeout(this.timer) this.timer = null; } this.timer = setTimeout(() => { this.render(); }, 200) } switchVariant(event) { const variant = event.detail.selected; if (variant.product_id == '253d135e-9652-4232-8787-ab9759089373' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } getData() { const reqBody = { product_id: "253d135e-9652-4232-8787-ab9759089373", product_type: "default", variant_id: this.variantId } this.flashsaleData = {}; this.win.fetch(this.getFlashSaleApi, { method: "POST", body: JSON.stringify(reqBody), headers: { "Content-Type": "application/json" } }).then(async (response) => { if (response.ok) { this.flashsaleData = await response.json(); this.render(); } else { this.clearDom(); } }).catch(err => { this.clearDom(); }); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } render() { this.templates_ .findAndRenderTemplate(this.element, { isMobile: appDiscountUtils.judgeMobile(), isRTL: appDiscountUtils.judgeRTL(), inProductDetail: appDiscountUtils.inProductBody(this.element), flashsaleData: this.flashsaleData, image_domain: this.win.SHOPLAZZA.image_domain, }) .then((el) => { this.clearDom(); this.element.appendChild(el); }) } } SPZ.defineElement('spz-custom-discount-flashsale', SpzCustomDiscountFlashsale);
Frame Color : Transparent Blue
Free Premium Packaging (Including Outer Box, Sunglasses Case And Microfiber Cloth)
(function(){ const TAG = 'spz-custom-lamb-add-btn'; class SpzCustomLambAddBtn extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.action_ = null; this.selected_variant = '{"id":"5739f42d-c83a-4664-8f29-b04c02418b3c","product_id":"253d135e-9652-4232-8787-ab9759089373","title":"Transparent Blue","weight_unit":"g","inventory_quantity":6,"sku":"ZSA2007-V2","barcode":"","position":2,"option1":"Transparent Blue","option2":"","option3":"","note":"","image":{"src":"\/\/img.staticdj.com\/b8baa3b84fba488fce00bfaf1c83bafa.jpg","path":"b8baa3b84fba488fce00bfaf1c83bafa.jpg","width":5000,"height":5000,"alt":"Crystal Charm Zealous","aspect_ratio":1},"wholesale_price":[{"price":51,"min_quantity":1}],"weight":"27","compare_at_price":"80","price":"51","retail_price":"80","available":true,"url":"\/products\/crystal-charm-ay5u?variant=5739f42d-c83a-4664-8f29-b04c02418b3c","available_quantity":999999999,"options":[{"name":"Frame Color","value":"Transparent Blue"}],"off_ratio":36,"flashsale_info":[],"sales":1}'; this.lens_process_id = ""; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); this.action_ = SPZServices.actionServiceForDoc(this.element); this.templates_ = SPZServices.templatesForDoc(this.element); this.getLambLensSteps_(true); this.setupAction_(); } mountCallback() { document.addEventListener('dj.variantChange', (event) => { const variant = event.detail.selected; if (variant.product_id == '253d135e-9652-4232-8787-ab9759089373') { this.selected_variant = JSON.stringify(variant); } }); } fetchLambLensSteps() { const lens_process_id = location.search.replace('?', '').split('&').find(v => v.includes('lens_process_id')); const template_id = location.search.replace('?', '').split('&').find(v => v.includes('template_id')); const stepsUrl = '/api/fireant/product/253d135e-9652-4232-8787-ab9759089373/steps' + ((lens_process_id ? `?${lens_process_id}` : '') || (template_id ? `?${template_id}` : '')); return fetch(stepsUrl).then((res)=>{ return res.json(); }).then((data)=>{ return data; }) } showProductBtn() { var addToCart = document.getElementById('add_to_cart_normal'); var productQuantityBtn = document.getElementById('product_info_quantity_normal'); addToCart && addToCart.classList.remove('hidden'); productQuantityBtn && productQuantityBtn.classList.remove('hidden'); } getLambLensSteps_(isInit) { try{ this.fetchLambLensSteps().then((data)=>{ if(data.errors) { if(isInit){ this.renderBtn(false); this.showProductBtn(); } }else{ if(isInit){ this.lens_process_id = data?.lens_process_id; let frameOnlyArr = data?.prescription_types?.options.filter((option)=>{ return option.prescription_type === 'Frame Only' }); let frameOnlyObj = frameOnlyArr.length > 0 ? frameOnlyArr[0] : {}; let available = true; if(available && (frameOnlyObj?.frame_only_display_at == 'product_detail' || frameOnlyObj?.frame_only_display_at == 'all')){ this.renderBtn({ ...frameOnlyObj, process_type: data.process_type }); }else{ this.renderBtn({ process_type: data.process_type }); } } } }); }catch(e){ this.renderBtn(false); this.showProductBtn(); } } renderBtn = (isRenderProcessBtn) => { return this.templates_ .findAndRenderTemplate(this.element, isRenderProcessBtn) .then((el) => { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); this.element.appendChild(el); }); } handleClickFrameOnlyBtn_ = async () => { try { const reqBody = { product_id: "253d135e-9652-4232-8787-ab9759089373", variant_id: JSON.parse(this.selected_variant)?.id, quantity: 1, properties: { lens_processing_id: this.lens_process_id, prescription_type: "Frame Only" } } const data = await this.xhr_.fetchJson('/api/fireant/v2/customize_cart', { method: "post", body: reqBody }); if(data.state === 'success') { this.atc_loading_ = false; this.element.removeAttribute('atc-loading'); this.triggerEvent_("dj.addToCart", data); window.location.href = "/cart"; } else { this.atc_loading_ = false; this.element.removeAttribute('atc-loading'); } } catch (e) { this.atc_loading_ = false; this.element.removeAttribute('atc-loading'); const toast = SPZCore.Dom.scopedQuerySelector(document, `#error-toast`); toast && SPZ.whenApiDefined(toast).then((api) => { e.then((result)=>{ api.showToast(result?.errors[0] || 'Unknown error'); }) }); } } trackAddToCart = () => { const params = { business_type: "product_plugin", function_name: "prescription_lens", plugin_name: "prescription_lens", module: "apps", tab_name: "process_btn", event_type: "click", event_developer: "jozy", event_info: JSON.stringify({ action_type: "frame_only_add_to_cart", product_id: '"253d135e-9652-4232-8787-ab9759089373"', process_id: this.lens_process_id, process_type: "glasses", element_type: "button", element_name: "frame_only_btn" }) } window.spzutm && window.spzutm.registerParams('add_to_cart', params ); } setupAction_ = () => { this.registerAction('handleClickBtn', (invocation) => { this.saveAllFormProperties_(); const glassesInfo = { product:{ title: "Crystal Charm", id: "253d135e-9652-4232-8787-ab9759089373", image: {"src":"\/\/img.staticdj.com\/435cfacb096e4ac9067536514e9c95ed.jpg","path":"435cfacb096e4ac9067536514e9c95ed.jpg","width":5000,"height":5000,"alt":"Crystal Charm Zealous","aspect_ratio":1}, selected_variant: JSON.parse(this.selected_variant) }, atcType: 'add_lens' }; const tempElement = document.getElementById('process-request-script'); tempElement && SPZ.whenApiDefined(tempElement).then(async (api) => { await api.requestLensProcess(glassesInfo, invocation.args.process_type); }); setTimeout(() => { const proceeBtn = document.getElementById('lens_add_to_cart'); proceeBtn && proceeBtn.classList.remove('pointer-events-none'); }, 3000); }); this.registerAction('handleClickFrameOnlyBtn', (invocation) => { this.trackAddToCart(); this.atc_loading_ = true; this.element.setAttribute('atc-loading',""); this.handleClickFrameOnlyBtn_(); }); } saveAllFormProperties_(){ const formEntries = this.getFormData_(); const properties = this.getFormAllProperties_(formEntries); // 获取的form所有properties存全局 window.app_lamb_form_properties = properties; } getFormData_() { const form = this.element.closest("form"); const formData = new FormData(form); const formEntries = Object.fromEntries(formData.entries()); return formEntries; } getFormAllProperties_(obj){ const result = {}; Object.entries(obj).forEach(([key, value]) => { if (key.startsWith("properties")) { result[key.substring(11, key.length - 1)] = value; } }); return result; } triggerEvent_(name, params) { const event = SPZUtils.Event.create( this.win, name, params, {bubbles: true} ); this.element.dispatchEvent(event); } isLayoutSupported = (layout) => { return layout == SPZCore.Layout.CONTAINER; } } SPZ.defineElement(TAG, SpzCustomLambAddBtn) })()
Description

Zealous Crystal Charm Sunglasses – Premium Rectangular TAC Polarized Frame

Product Description
Make a statement with Zealous Crystal Charm Sunglasses, the perfect combination of timeless style and modern functionality. Designed for both men and women, these rectangular sunglasses feature premium acetate frames and advanced TAC polarized lenses to ensure optimal eye protection and comfort. Whether you're heading to a beach day or a casual stroll through the city, Crystal Charm sunglasses bring effortless sophistication to any outfit.

With UV400 protection and scratch-resistant coating, these lightweight sunglasses are built to last while maintaining their sleek and stylish appeal. Available in classic tortoiseshell and contemporary transparent blue, Crystal Charm sunglasses are versatile, bold, and undeniably chic.


Key Features in Detail

  1. TAC Polarized Lenses
    The advanced TAC polarized lenses reduce glare, providing enhanced clarity and color contrast. These lenses are perfect for reducing reflections off surfaces like water and roads, ensuring a more comfortable viewing experience.
  2. UV400 Protection
    Protect your eyes from harmful UVA and UVB rays with UV400-rated lenses. Crystal Charm sunglasses ensure your eyes remain safe and comfortable, even in bright sunlight.
  3. Premium Acetate Frame
    Made with high-quality acetate, the frames are both lightweight and durable. The smooth finish and ergonomic design ensure a comfortable fit, making them perfect for all-day wear.
  4. Anti-Scratch Coating
    The lenses are treated with a durable anti-scratch coating, ensuring that your sunglasses remain pristine and provide long-lasting performance.
  5. Built-In Nose Pads
    Designed for all-day comfort, the integrated nose pads offer a secure and slip-free fit, keeping your sunglasses comfortably in place no matter the activity.
  6. Rectangular Frame Design
    The sleek rectangular frame design is a timeless classic that suits a variety of face shapes. It adds a touch of sophistication to both casual and formal looks.
  7. Color Variants
    • Tortoiseshell Frame with Gradient Brown Lenses: A classic, versatile style that pairs well with any outfit.
    • Transparent Blue Frame with Gradient Blue Lenses: A modern, bold look perfect for trendsetters.

Perfect Gift Idea
Each pair of Zealous Crystal Charm sunglasses comes beautifully packaged in luxurious, gift-ready packaging, making it a perfect present for family, friends, or someone special. The package includes:

  • A premium magnetic sunglasses case for secure storage.
  • A microfiber cleaning cloth to keep your lenses spotless.
  • A sleek outer cardboard box for an elegant unboxing experience.

Why Choose Zealous Crystal Charm?

  • Stylish Design: A sleek rectangular frame with timeless appeal.
  • Polarized Lenses: Reduce glare and enhance clarity for comfortable vision.
  • Durable Craftsmanship: High-quality acetate frames with scratch-resistant lenses.
  • Comfortable Fit: Lightweight design with built-in nose pads for secure wear.
  • Affordable Luxury: Premium sunglasses at an accessible price point.

About Zealous
At Zealous, we are committed to redefining affordable luxury. Our sunglasses are crafted with precision and care to offer the perfect blend of style, protection, and comfort. With Zealous, you’re always making a statement of elegance and sophistication.

Elevate your style game with Zealous Crystal Charm sunglasses and see the world in a whole new light!

Details
window.__bright__ = { getMetaData_: () => { const metaData = [ {"value": "Regular", "title": "Size", "owner_resource": "product", "key": "size"}, {"value": "27 G", "title": "Weight", "owner_resource": "product", "key": "weight"}, {"value": "", "title": "Rim", "owner_resource": "product", "key": "rim"}, {"value": "", "title": "RXable", "owner_resource": "product", "key": "rxable"}, {"value": "Tortoiseshell, Transparent Blue", "title": "Frame Color", "owner_resource": "product", "key": "frame_color"}, {"value": "Tortoiseshell, Transparent Blue", "title": "Temple Color", "owner_resource": "product", "key": "temple_color"}, {"value": "Acetate", "title": "Frame Material", "owner_resource": "product", "key": "material"}, {"value": "Acetate", "title": "Temple Material", "owner_resource": "product", "key": "temple_material"}, {"value": "Blue, Brown", "title": "Lens Color", "owner_resource": "product", "key": "color"}, {"value": "Rectangular", "title": "Shape", "owner_resource": "product", "key": "shape"}, {"value": "TAC Polarized", "title": "Lens Type", "owner_resource": "product", "key": "_LensType"}, {"value": "Built in", "title": "Nose Pad", "owner_resource": "product", "key": "nose_pad"}, {"value": "Anti scratch", "title": "Coating", "owner_resource": "product", "key": "Coating"}, {"value": "Yes", "title": "Polarized", "owner_resource": "product", "key": "Polarized"}, ]; return metaData; }, getBlockData_: () => { const blockSettingData = { "frameWidth": { "value": "145", }, "lensWidth": { "value": "55", }, "bridgeWidth": { "value": "18", }, "lensHeight": { "value": "", }, "templeLength": { "value": "", } }; return blockSettingData; } }; (function(){ const TAG = 'spz-custom-structured-logic'; class SpzCustomStructuredLogic extends SPZ.BaseElement { constructor(element) { super(element); this.xhr_ = SPZServices.xhrFor(this.win); } buildCallback = () => { this.setupAction_(); this.unit = 'mm'; this.variantChange_(); this.selectedData = this.getProductData_(); this.init_(); } static deferredMount() { return false; } isLayoutSupported = (layout) => { return layout == SPZCore.Layout.CONTAINER; } setupAction_ = () => { this.registerAction('changeUnit', (invocation) => { const changeUnit = invocation.args.data; this.unit = changeUnit; this.init_(); }); } init_ = () => { this.meteData_ = window.__bright__.getMetaData_(); this.blockData_ = window.__bright__.getBlockData_(); this.renderParameter_(); this.renderStructuredImg_(); this.renderTempleLength_(); this.renderBtn_(); } getProductData_ = () => { let pJson = document.getElementById('product-json'); if (pJson) { return JSON.parse(pJson.innerHTML); } if (typeof $ === 'function') { return $(document).data('djproduct'); } return undefined; } renderParameter_ = () => { const structuredParameterContainerRender = document.getElementById('structured-parameter-container-render'); SPZ.whenApiDefined(structuredParameterContainerRender).then(async (api) => { const parameter = []; this.meteData_.forEach(meta => { if (meta.owner_resource === 'product') { parameter.push({ title: meta.title, value: meta.value }); } else { parameter.push({ title: meta.title, value: meta.value[this.selectedData.selected.id] }); } }); api.render(parameter); }); } renderStructuredImg_ = () => { const glassesImgRender = document.getElementById('glasses-img-render'); SPZ.whenApiDefined(glassesImgRender).then(async (api) => { const parameter = {}; parameter.unit = this.unit; Object.keys(this.blockData_).forEach(key => { if (typeof this.blockData_[key].value === 'string') { parameter[key] = this.blockData_[key].value; } else { parameter[key] = this.blockData_[key].value[this.selectedData.selected.id]; } }); api.render(parameter); }); } renderTempleLength_ = () => { const lensImgRender = document.getElementById('lens-img-render'); SPZ.whenApiDefined(lensImgRender).then(async (api) => { let parameter = {}; parameter.unit = this.unit; if (this.blockData_.templeLength.value) { if (typeof this.blockData_.templeLength.value === 'string') { parameter.value = this.blockData_.templeLength.value; } else { parameter.value = this.blockData_.templeLength.value[this.selectedData.selected.id]; } } api.render(parameter); }); } renderBtn_ = () => { const conversionBtnRender = document.getElementById('conversion-btn-render'); conversionBtnRender && SPZ.whenApiDefined(conversionBtnRender).then(async (api) => { const parameter = {}; Object.keys(this.blockData_).forEach(key => { if (typeof this.blockData_[key].value === 'string') { parameter[key] = this.blockData_[key].value; } else { parameter[key] = this.blockData_[key].value[this.selectedData.selected.id]; } }); parameter.unit = this.unit; api.render(parameter); }) } variantChange_ = () => { document.addEventListener('dj.variantChange', (e) => { this.init_(); this.selectedData = e.detail; }); document.addEventListener('dj.editor.update', (e) => { this.init_(); }); } } SPZ.defineElement(TAG, SpzCustomStructuredLogic) })();