Extra 6% Off For All Orders : MDP66 | Free Shipping For Orders Over $79
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
8 / 23
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection
You May Also Like Don't Like These?
0% OFF
Mydiamonpainting

Diy Crystal Drink Coasters Reusable Creative With Holder For Tabletop Protection

914811.01

$20.98
4 sold
Style - BD018
Qty 1000 in stock
Specification:
Origin: Mainland China
Material: wooden
Pattern Type: Marine Organism/Halobios/Mandala 3/Sunflower/Mandala 5/Flower(optional)
Name: DIY diamond coaster
Size: 10*10*0.5cm/3.94*3.94*0.2in
New and fashionable design

Production steps of DIY diamond painting products:
1. Open the package and check whether the tools for diamond painting are complete;
2. Select a color on the plate according to the color code of resin diamond. If you paste the same color at one time, you can improve the speed;
3. Find the corresponding color code on the product and start pasting until it is finished;
4. After completion, in order to make the diamond painting stable, you can take some books and press them on the diamond for a while;
5. It\'s finally finished. Decorate your home and add vitality to your home.

Precautions for DIY diamond painting:
1. Refer to previous operation steps
2. If you don\'t know what color to use, please refer to the color table
3. This is a diy diamond painting product. You need to finish it yourself.

Note:
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.

Package Content:
1 set X Coasters
1 set X Drill Package
1 X Sticking Tool
1 X Shelf


You May Also Like Don't Like These?
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.