Black Friday - Party Early Extra 12% Off: MPBF12 | Free Shipping Over $79
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
4 / 27
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
2pcs Sunflower Double Sided DIY Diamond Suncatcher
You May Also Like Don't Like These?
0% OFF
Mydiamonpainting

2pcs Sunflower Double Sided DIY Diamond Suncatcher

703895.01

$13.98
796 sold
Style - Sunflower Gnome
Qty 994 in stock

2pcs Crystal Light Catcher DIY diamond Painting Prisms Pendant Rainbow Chaser HANGing Drop Handmade Garden Ornament Window Curtain Home Decor
Specification:
Item: DIY spot drill pendant
Material: acrylic
Size: Approx. with decorative chain about 50*10cm/19.69*3.94''(1 cm = 0.39 inches)
Weight: 100g
diamond Type: Crystal Special Shape diamond
Space: living room/bedroom/classroom/entrance

DIY diamond painting production steps:
1. Open the package and check whether the tools for diamond painting are complete;
2. According to the resin diamond color code, choose a color on the plate, if the same color is pasted at one time, the speed can be increased;
3. Find the corresponding color code on the product and start pasting until it is completed;
4. After the completion, in order to make the diamond painting stable, you can take some books and press them on the board for a while;
5. It is finally completed, you can HANG up your results, decorate your home and add life to your home.
 
Precautions for DIY diamond Painting:
1. Refer to previous steps
2. If you don't know what color to use, please refer to the color table

Note:
This is a diy diamond painting product, not finished, you need to finish it yourself.
Due to the different monitor and light effect, the actual color of the item might be slightly different from the color showed on the pictures. Thank you!
Please allow 1-2cm measuring deviation due to manual measurement.

2 X Point drill pendant (rhinestone needs to be pasted)
2 X Pendants
4 X Crystal Decorative Chain
1 set of X diamond drawing tools

You May Also Like Don't Like These?
/** @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-1724747683315').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);
Customer Reviews

Here are what our customers say.

Write a Review
Customer Reviews
Wow you reached the bottom
Newest
Most liked
Highest ratings
Lowest ratings
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.