💖LAST DAY SALE 70% OFF-🪽Gorgeous Angel Wings Cross Decoration✝️

people are viewing this right now
$16.99  - $42.98
const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = '946e26e7-aca6-4d56-8c77-c87e77225968'; this.isRTL = SPZ.win.document.dir === 'rtl'; this.isAddingToCart_ = false; // 加购中状态 } static deferredMount() { return false; } buildCallback() { this.action_ = SPZServices.actionServiceForDoc(this.element); this.templates_ = SPZServices.templatesForDoc(this.element); this.xhr_ = SPZServices.xhrFor(this.win); this.setupAction_(); this.viewport_ = this.getViewport(); } mountCallback() { this.init(); // 监听事件 this.bindEvent_(); } async init() { this.handleFitTheme(); const data = await this.getDiscountList(); this.renderApiData_(data); } async getDiscountList() { const productId = '8f3580d7-d4d7-4788-a48b-cbb5c846fda5'; const variantId = this.variant_id; const productType = 'default'; const reqBody = { product_id: productId, variant_id: variantId, discount_method: "DM_AUTOMATIC", customer: { customer_id: window.C_SETTINGS.customer.customer_id, email: window.C_SETTINGS.customer.customer_email }, product_type: productType } const url = `/api/storefront/promotion/display_setting/text/list`; const data = await this.xhr_.fetchJson(url, { method: "post", body: reqBody }).then(res => { return res; }).catch(err => { this.setContainerDisabled(false); }) return data; } async renderDiscountList() { this.setContainerDisabled(true); const data = await this.getDiscountList(); this.setContainerDisabled(false); // 重新渲染 抖动问题处理 this.renderApiData_(data); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } async renderApiData_(data) { const parentDiv = document.querySelector('.automatic_discount_container'); const newTplDom = await this.getRenderTemplate(data); if (parentDiv) { parentDiv.innerHTML = ''; parentDiv.appendChild(newTplDom); } else { console.log('automatic_discount_container is null'); } } doRender_(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, renderData) .then((el) => { this.clearDom(); this.element.appendChild(el); }); } async getRenderTemplate(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, { ...renderData, isRTL: this.isRTL }) .then((el) => { this.clearDom(); return el; }); } setContainerDisabled(isDisable) { const automaticDiscountEl = document.querySelector('.automatic_discount_container_outer'); if(isDisable) { automaticDiscountEl.setAttribute('disabled', ''); } else { automaticDiscountEl.removeAttribute('disabled'); } } // 绑定事件 bindEvent_() { window.addEventListener('click', (e) => { let containerNodes = document.querySelectorAll(".automatic-container .panel"); let bool; Array.from(containerNodes).forEach((node) => { if(node.contains(e.target)){ bool = true; } }) // 是否popover面板点击范围 if (bool) { return; } if(e.target.classList.contains('drowdown-icon') || e.target.parentNode.classList.contains('drowdown-icon')){ return; } const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { node.classList.remove('open-dropdown'); }) // 兼容主题 this.toggleProductSticky(true); }) // 监听变体变化 document.addEventListener('dj.variantChange', async(event) => { // 重新渲染 const variant = event.detail.selected; if (variant.product_id == '8f3580d7-d4d7-4788-a48b-cbb5c846fda5' && variant.id != this.variant_id) { this.variant_id = variant.id; this.renderDiscountList(); } }); } // 兼容主题 handleFitTheme() { // top 属性影响抖动 let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ productInfoEl.classList.add('force-top-auto'); } } // 兼容 wind/flash /hero 主题 (sticky属性影响 popover 层级展示, 会被其他元素覆盖) toggleProductSticky(isSticky) { let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ if(isSticky) { // 还原该主题原有的sticky属性值 productInfoEl.classList.remove('force-position-static'); return; } productInfoEl.classList.toggle('force-position-static'); } } setupAction_() { this.registerAction('handleDropdown', (invocation) => { const discount_id = invocation.args.discount_id; const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { if(node.getAttribute('id') != `automatic-${discount_id}`) { node.classList.remove('open-dropdown'); } }) const $discount_item = document.querySelector(`#automatic-${discount_id}`); $discount_item && $discount_item.classList.toggle('open-dropdown'); // 兼容主题 this.toggleProductSticky(); }); // 加购事件 this.registerAction('handleAddToCart', (invocation) => { // 阻止事件冒泡 const event = invocation.event; if (event) { event.stopPropagation(); event.preventDefault(); } // 如果正在加购中,直接返回 if (this.isAddingToCart_) { return; } const quantity = invocation.args.quantity || 1; this.addToCart(quantity); }); } // 加购方法 async addToCart(quantity) { // 设置加购中状态 this.isAddingToCart_ = true; const productId = '8f3580d7-d4d7-4788-a48b-cbb5c846fda5'; const variantId = this.variant_id; const url = '/api/cart'; const reqBody = { product_id: productId, variant_id: variantId, quantity: quantity }; try { const data = await this.xhr_.fetchJson(url, { method: 'POST', body: reqBody }); // 触发加购成功提示 this.triggerAddToCartToast_(); return data; } catch (error) { error.then(err=>{ this.showToast_(err?.message || err?.errors?.[0] || 'Unknown error'); }) } finally { // 无论成功失败,都重置加购状态 this.isAddingToCart_ = false; } } showToast_(message) { const toastEl = document.querySelector("#apps-match-drawer-add_to_cart_toast"); if (toastEl) { SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast(message); }); } } // 触发加购成功提示 triggerAddToCartToast_() { // 如果主题有自己的加购提示,则不显示 const themeAddToCartToastEl = document.querySelector('#add-cart-event-proxy'); if (themeAddToCartToastEl) return; // 显示应用的加购成功提示 this.showToast_("Added successfully"); } 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, SpzCustomProductAutomatic);
class SpzCustomDiscountBundle extends SPZ.BaseElement { constructor(element) { super(element); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } mountCallback() {} unmountCallback() {} setupAction_() { this.registerAction('showAddToCartToast', () => { const themeAddToCartToastEl = document.querySelector('#add-cart-event-proxy') if(themeAddToCartToastEl) return const toastEl = document.querySelector('#apps-match-drawer-add_to_cart_toast') SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast("Added successfully"); }); }); } buildCallback() { this.setupAction_(); }; } SPZ.defineElement('spz-custom-discount-toast', SpzCustomDiscountBundle);
Style:  🙏Praying Angel
Quantity

Description

Description

Description

🪽 Divine Winged Cross Decor – Symbol of Faith & Protection

Finely detailed wings gracefully wrap around the cross, symbolizing divine protection and unwavering faith, filling your space with a sense of peace and spiritual comfort.

✨ Key Features

✨ Elegant Boho Style ✝️

A perfect blend of classic religious symbolism with a bohemian aesthetic – adds timeless sophistication to any home decor, whether on shelves, tables, or spiritual altars.

💎 Premium Quality Material

Crafted from high-quality resin with exquisite sculpture details – durable, lightweight, and designed to maintain its beauty for years to come.

🎁 Perfect Gift Choice

A thoughtful and meaningful gift for loved ones – ideal for housewarming, Christmas, memorials, baptisms, or any spiritual occasion.

📐 Product Specifications

Material

High Quality Resin Sculpture

Size

30×40cm / 11×15 Inches

Ideal Placement

Shelves, Tables, Altars

Usage

Home Decor / Religious Gifts / Memorial Keepsakes

✭˚・゚✧*・゚* THE BEST GIFT FOR YOU, YOUR FAMILY & FRIENDS!! *・゚*✧・゚˚✭

❤️ Thank you very much for visiting our store. Have a nice shopping day! ❤️

Selling out fast – secure your divine winged cross decor now!

🚀 Come and grab your favorite style – a timeless symbol of faith & protection!

🛡️ Customer Service & Guarantee

  • 🔒 100% private and confidential shopping experience
  • ✅ 21-Day Satisfaction Guarantee – return for a full refund if not satisfied
  • 📧 Instant email confirmation after payment
  • 📦 Flexible cancellation/return/exchange policy for quality/color/shipping issues

Shipping & Handling

Shipping & Delivery Information

Worldwide Shipping

We ship to destinations all over the world! Our goal is to get your order to you as quickly, safely, and smoothly as possible.

Order Processing Time

Before shipping, we take time to carefully inspect and pack your items to ensure they arrive in perfect condition.

  • Most orders are processed and shipped within 1–3 business days.
  • If a delay occurs (e.g., high demand for popular items), we will notify you immediately via email.

Estimated Shipping Times

Delivery times vary by location and shipping method. Customization for products takes 7 calendar days before shipping (applies to all orders).

  • United States
    • Standard Shipping: 7–14 calendar days after shipping
    • Express Shipping: 7 calendar days after shipping
  • International (Outside US)
    • Standard Shipping: 7–14 business days after shipping (varies by destination)
    • Express Shipping: 3–7 business days after shipping

Note: Customs checks or local postal delays may affect delivery times (beyond our control). We will assist you with tracking if delays occur.

Shipping Rates (USD)

We offer tiered shipping rates—save more when you spend more! All prices are in US Dollars.

Order Value (USD)Shipping MethodCost (USD)
$0.00 – $29.98Standard Shipping$9.99
$29.99 – $49.98Standard Shipping$7.99
$49.99 – $74.99Standard Shipping$4.99
All Order ValuesVIP Fast Shipping$14.99
$75 and aboveFree ShippingFree

Track Your Shipment

Once your order ships, we’ll send a tracking number to your email. Enter the number on the carrier’s website to track your package in real time.

Important Notes:

  • Please confirm your shipping address is correct before placing your order—we cannot change addresses after shipment.
  • International orders may be subject to customs fees or taxes (per your country’s regulations). These charges are the buyer’s responsibility and are not collected by ubuntumini.
  • Contact your local customs office for more details about potential fees.

Contact Us

If you have any questions about your shipment, please feel free to email us at . We are happy to assist you with any inquiries or help track down your package.

Refund/ Retum Policy

Return Policy:

For products purchased from ubuntumini, you are entitled to a 14-day no-reason return period, calculated from the date of receipt of the goods. If the product has quality issues, you can contact us via the following email:

ubuntumini01@outlook.com

Return Conditions:

Keep the product in its original condition, unworn, unwashed, and undamaged, and it should not affect secondary sales.

Please return the product with the complete original packaging, accessories, product labels, invoices, and other items.

If there are quality issues with the product, please provide clear photos or videos as evidence.

Custom-made items (such as embroidered, tailored, or personalized items) are final sale and cannot be returned, exchanged, or refunded.

Friendly Reminder:

Thank you for shopping with us. Due to the nature of our products, we do not accept returns or offer refunds in the following cases:

Final Sale/Discounted Items: All items purchased during promotional periods or with significant discounts are final sale and cannot be returned or refunded.

Jewelry & Accessories: For hygiene and safety reasons, all jewelry, accessories, and personalized items are non-returnable and non-refundable.

Return Shipping Costs to Be Paid by the Buyer:

If the return is due to personal reasons (such as changing your mind, incorrect size, or dislike of the color), the return shipping cost will be borne by the buyer. We recommend using a trackable shipping method to monitor the return shipment.

Return Process:

Within the specified return period, submit a return request via email or online customer service, including the order number, reason for return, and other relevant information.

After customer service approves the return, we will provide the return address and return instructions.

Follow the instructions for returning the product, and we recommend using a trackable shipping method to track the logistics.

Once we receive and verify the returned item, we will process the refund according to your original payment method. The refund processing time is typically 5-7 business days.