🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls
🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls

🔥LAST DAY 49% OFF💦Rain Drum for Outside Garden with The Fingerstalls

Color (🎵6'' includes English sheet music📄)
Please select a color (🎵6'' includes english sheet music📄)
Price
$48.99
$24.98
Save  49%
359 sold
Quantity
Free worldwide shipping
Free returns
Sustainably made
Secure payments
class SpzSmartBlockComponent extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.container_ = null; this.i18n_ = {}; this.config_ = {}; this.show_type_ = 3; this.product_resource_id_ = ''; this.collection_resource_id_ = ''; this.cart_items_ = []; this.customer_id_ = ''; this.order_id_ = ''; } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { const template_type = window.SHOPLAZZA.meta.page.template_type; if (template_type === 1) { this.show_type_ = 3; this.product_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 2) { this.show_type_ = 4; this.collection_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 15){ this.show_type_ = 5; } else if (template_type === 13){ this.show_type_ = 6; } else if (template_type === 20){ this.show_type_ = 7; this.customer_id_ = window.SHOPLAZZA.customer.customer_id; } else if (template_type === 35){ this.show_type_ = 8; this.order_id_ = window.location.pathname.split('/').pop(); } this.templates_ = SPZServices.templatesForDoc(this.element); this.setAction_(); } mountCallback() { console.log('appzebu smart mounted'); const that = this; const themeName = window.SHOPLAZZA.theme.merchant_theme_name; const isGeek = /Geek/.test(themeName); this.fetchRules().then((res) => { if (res && res.rules && res.rules.length) { const blockEl = document.getElementById('smart_recommend_block'); SPZ.whenApiDefined(blockEl).then((api) => { api.render({data: res}, true).then(() => { if (isGeek && that.show_type_ === 6) { blockEl.querySelector('.plugin_container_wrpper').style.padding = '30px 0'; } const recommendStyle = document.createElement('style'); recommendStyle.innerHTML = ` .plugin__recommend_container,.app-recommend-card { display: none !important; } `; document.head.appendChild(recommendStyle); const fetchList = []; res.rules.forEach((rule) => { fetchList.push(this.fetchRuleProductList(rule.id)); }); const fetchAll = Promise.all(fetchList); fetchAll.then((p_res) => { res.rules.forEach((rule, index) => { rule.products = p_res[index] && p_res[index].products; const ruleEl = document.getElementById('smart_recommend_rule_' + rule.id); SPZ.whenApiDefined(ruleEl).then((api) => { api.render({data: rule}, true).then(() => { that.impressListen(`#smart_recommend_rule_ul_${rule.id}`, function(){ that.trackRuleImpress(rule); }); const btnElList = document.querySelectorAll(`#smart_recommend_rule_ul_${rule.id} button`); btnElList.forEach((btnEl) => { if (btnEl && rule.config && rule.config.quick_shop_button_bg_color && rule.config.quick_shop_button_text_color) { btnEl.style.backgroundColor = rule.config.quick_shop_button_bg_color; btnEl.style.color = rule.config.quick_shop_button_text_color; } }) }); }); }); }); }) }) } else { if (window.top !== window.self) { const template_type = window.SHOPLAZZA.meta.page.template_type; const holderEl = document.getElementById('smart_recommend_preview_no_data_placeholder'); SPZ.whenApiDefined(holderEl).then((api) => { api.render({data: { isCart: template_type === 13, isCollection: template_type === 2, isProduct: template_type === 1, isIndex: template_type === 15 }}, true); }); } } }); } setAction_() { this.registerAction('quickShop', (data) => { const that = this; const product_id = data.args.product_id; const productIndex = data.args.productIndex; const rule_id = data.args.rule_id; const ssp = data.args.ssp; const scm = data.args.scm; const cfb = data.args.cfb; const ifb = data.args.ifb; const modalRender = document.getElementById('smart_recommend_product_modal_render'); if (product_id) { this.fetchProductData(product_id).then((res) => { const product = res.products && res.products.length && res.products[0] || {}; product.cfb = cfb; product.ifb = ifb; SPZ.whenApiDefined(modalRender).then((api) => { api.render({product: product, productIndex: productIndex, rule_id: rule_id, ssp: ssp, scm: scm, show_type: that.show_type_}, true).then(() => { const modalEl = document.getElementById('smart_recommend_product_modal'); SPZ.whenApiDefined(modalEl).then((modal) => { that.impressListen('#smart_recommend_product_modal', function(){ that.trackQuickShop({ rule_id: rule_id, product_id: product_id }); }); modal.open(); }); const formEl = document.getElementById('smart_recommend_product_form'); SPZ.whenApiDefined(formEl).then((form) => { form.setProduct(product); }); const variantEl = document.getElementById('smart_recommend_product_variants'); SPZ.whenApiDefined(variantEl).then((variant) => { variant.handleRender(product); }); }); }) }); } }); this.registerAction('handleScroll', (data) => { this.directTo(data.args.rule_id, data.args.direction); }); this.registerAction('handleProductChange', (data) => { const variant = data.args.data.variant; const product = data.args.data.product; const imageRenderEl = document.getElementById('smart_recommend_product_image'); SPZ.whenApiDefined(imageRenderEl).then((api) => { api.render({ variant: variant, product: product }); }); }); this.registerAction('handleAtcSuccess', (detail) => { const data = detail.args; data.data.product = data.data.product || {}; data.data.variant = data.data.variant || {}; const product_id = data.data.product.id; const product_title = data.data.product.title; const variant_id = data.data.variant.id; const price = data.data.variant.price; const rule_id = data.rule_id; const aid = `smart_recommend.${this.show_type_}.${rule_id}`; const ifb = data.data.product.ifb; const cfb = data.data.product.cfb; const ssp = data.ssp; const scm = data.scm; const spm = `smart_recommend_${this.show_type_}.${data.spmIndex}`; const params = { id: product_id, product_id: product_id, number: 1, name: product_title, variant_id: variant_id, childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid: aid, ifb: ifb, cfb: cfb, scm: scm, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, ssp: ssp, } }; this.tranckAddToCart(params); }); this.registerAction('addATCHook', (data) => { const params = data.args; const spm = `smart_recommend_${this.show_type_}.${params.spmIndex}`; this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({ event: 'dj.addToCart', params: { aid: `smart_recommend.${this.show_type_}.` + params.rule_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, }, once: true }); }); } tranckAddToCart(detail) { if (window.$) { window.$(document.body).trigger('dj.addToCart', detail); } } fetchRules() { const payload = { show_type: this.show_type_, }; let that = this; if (this.show_type_ === 6) { let line_items = []; return this.fetchCart().then((res) => { if (res && res.cart && res.cart.line_items) { line_items = res.cart.line_items.map((item) => { return { product_id: item.product_id, variant_id: item.variant_id, quantity: item.quantity, price: item.price } }); } payload.line_items = line_items; that.cart_items_ = line_items; return that.fetchRulesRequest(payload); }); } else { if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return this.fetchRulesRequest(payload); } } fetchRulesRequest(payload) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_query", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }); } fetchCart() { return fetch(`/api/cart/cart-select?r=${Math.random().toString(36).slice(-4)}`) .then((res) => { if (res.ok) { return res.json(); } }); } fetchRuleProductList(rule_id) { const payload = { page: 1, limit: 100, fields: ["title", "url", "image", "min_price_variant.price", "min_price_variant.compare_at_price"], rule_id: rule_id, }; if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 6) { payload.line_items = this.cart_items_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); }); } fetchProductData(product_id) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ product_ids: [product_id], fields: [ "images", "options", "min_price_variant", "variants"] }) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); const loadingEl = document.getElementById('smart_recommend_loading'); if (loadingEl) { loadingEl.style.display = 'none'; } }); } getStyle(ele, style) { if (!ele) return; if (window.getComputedStyle) { return window.getComputedStyle(ele)[style]; } return ele.currentStyle[style]; } directTo(id, direction) { const scrollElement = document.getElementById(`smart_recommend_rule_ul_${id}`); const blockWidth = parseInt(this.getStyle(scrollElement, 'width')); const scrollLength = (blockWidth * 0.19 - 12) * 5; const scrollPoint = scrollElement.scrollWidth - scrollElement.clientWidth; if (!scrollElement) return; if (direction === 'left') { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft - scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: Math.max(scrollElement.scrollLeft - scrollLength, 0), behavior: 'smooth' }); } else { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint + 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: scrollElement.scrollLeft >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); } } trackRuleImpress(rule) { if (window.sa && window.sa.track) { window.sa.track("plugin_common", { plugin_name: "upsell", event_type: "impressions", rule_id: rule.id, ssp: rule.ssp, scm: rule.scm, show_type: this.show_type_, support_app_block: window.SHOPLAZZA.theme.support_app_block }); window.sa.track("module_impressions", { aid: `smart_recommend.${this.show_type_}.${rule.id}`, support_app_block: window.SHOPLAZZA.theme.support_app_block }); } } trackQuickShop(data) { window.sa && sa.track && sa.track("plugin_common", { plugin_name: "upsell", event_type: "quick_shop", rule_id: data.rule_id, product_id: data.product_id, show_type: this.show_type_, }); } impressListen(selector, cb) { const el = document.querySelector(selector); const onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el && !el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart-block', SpzSmartBlockComponent);

Note: 🎵The 6-inch drum comes with English sheet music.

FEATURES

  • ✨💦💟【Authentic Rainfall Symphony】Our Rain Chime Drum is designed to capture the tranquil sounds of rain. Crafted specifically for outdoor use, it transforms your garden into a serene oasis, providing a calming auditory experience as it resonates with the natural rainfall.

  • ✨💦💟【Durable Steel Construction】Made from high-quality steel, this rain drum is built to withstand the elements. Its robust construction ensures long-lasting performance, making it a perfect addition to your garden that will endure through various weather conditions.

  • ✨💦💟【Aesthetic Garden Decor】More than just a musical instrument, this rain drum serves as an eye-catching piece of art for your outdoor space. Its sleek and stylish design complements any garden decor, adding a touch of elegance and sophistication to your environment.

  • ✨💦💟【Interactive Musical Experience】Engage with your garden in a unique way by playing the drum during rainfall. The drum’s surface is sensitive to water droplets, creating a harmonious blend of natural and human-made sounds. It’s a perfect interactive tool for both relaxation and entertainment.

  • ✨💦💟【Easy Installation and Maintenance】Our rain drum is designed for hassle-free setup. Simply place it in your desired location and let the rain do the rest. Maintenance is minimal, allowing you to enjoy the beautiful sounds without any complicated upkeep.

SPECIFICATIONS

  • Material: Carbon Steel

  • Specification: 3 inch 6 tone & 6 inch 8 tone

  • Size: As Shown

PACKAGE

  • 1* 3'' Rain Drum for Outside Garden with The Drumstick
  • or 1* 6'' Rain Drum for Outside Garden with The Fingerstalls (With English Sheet Music)

NOTES

  • Please allow slight measurement deviations due to manual measurements.

  • Due to the different display and light effects, the actual color of the item may vary slightly from the color shown on the picture.

RELIABLE AFTER-SALES SERVICE

PREMIUM QUALITY

We worked really hard to make it perfect. Design, quality, give maximum attention to even minimal details to make them absolutely adorable. If you are not satisfied for any reason, please contact our customer service, we 100% solve your problem and refund the cost. Thank you for your support.

Certification

SHIPPING

  • Worldwide Express Shipping
  • Email & SMS Tracking: You will receive order status updates via email.