Olivenorma Crescent Wooden Witch Crystal Shelves Shelf
Olivenorma Crescent Wooden Witch Crystal Shelves Shelf
Olivenorma Crescent Wooden Witch Crystal Shelves Shelf
Olivenorma Crescent Wooden Witch Crystal Shelves Shelf
Olivenorma Crescent Wooden Witch Crystal Shelves Shelf
Olivenorma Crescent Wooden Witch Crystal Shelves Shelf
Olivenorma Crescent Wooden Witch Crystal Shelves Shelf
Olivenorma Crescent Wooden Witch Crystal Shelves Shelf
Olivenorma Crescent Wooden Witch Crystal Shelves Shelf
Olivenorma Crescent Wooden Witch Crystal Shelves Shelf
Olivenorma Crescent Wooden Witch Crystal Shelves Shelf
Olivenorma Crescent Wooden Witch Crystal Shelves Shelf
Olivenorma Crescent Wooden Witch Crystal Shelves Shelf
Olivenorma Crescent Wooden Witch Crystal Shelves Shelf

Olivenorma Crescent Wooden Witch Crystal Shelves Shelf

Crescent Wooden Witch shelves capture the essence of mystical charm, designed to house crystals that amplify both spiritual and aesthetic appeal. This shelf combines practical storage with esoteric elegance, enhancing any space with a touch of magic and the natural.
Price
$0.00
$32.59
Save  $-32.59
color
Please select a color
size
Please select a size
Quantity
Crescent Wooden Witch shelves offer a sanctuary for your crystals, blending natural wood craftsmanship with mystical design. This piece not only serves as functional decor but also enhances the spiritual vibrations in your space. Ideal for those seeking to merge practicality with their magical practices, it provides a perfect display for crystals that foster protection, healing, and energy balancing.

HOW IT'S MADE

Made out of MDF wood and stained in a glossy black colour.
Stained in blackwood color and finished with environmentally friendly varnish.
You can place a shelf on a flat surface.

SPECIFICATIONS

  • Category: Crystal Shelf
  • Origin: India
  • Size Small: 10"*7.7"*2.4" (25.4*19.7*6cm)
  • Size Large: 15"*11.6"*3.5" (38.1*29.6*8.9cm)
  • Weight: Large 135g,Small 60g

CARING FOR YOUR GEMSTONE JEWELRY

 

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.