Jolieaprile Magnetic Diamond Double-sided Stud Earrings
Jolieaprile Magnetic Diamond Double-sided Stud Earrings
Jolieaprile Magnetic Diamond Double-sided Stud Earrings
Jolieaprile Magnetic Diamond Double-sided Stud Earrings
Jolieaprile Magnetic Diamond Double-sided Stud Earrings
Jolieaprile Magnetic Diamond Double-sided Stud Earrings
Jolieaprile Magnetic Diamond Double-sided Stud Earrings
Jolieaprile Magnetic Diamond Double-sided Stud Earrings
Jolieaprile Magnetic Diamond Double-sided Stud Earrings
Jolieaprile Magnetic Diamond Double-sided Stud Earrings
Jolieaprile Magnetic Diamond Double-sided Stud Earrings
Jolieaprile Magnetic Diamond Double-sided Stud Earrings
Jolieaprile Magnetic Diamond Double-sided Stud Earrings
Jolieaprile Magnetic Diamond Double-sided Stud Earrings
Jolieaprile Magnetic Diamond Double-sided Stud Earrings
Jolieaprile Magnetic Diamond Double-sided Stud Earrings
Jolieaprile Magnetic Diamond Double-sided Stud Earrings
Jolieaprile Magnetic Diamond Double-sided Stud Earrings

Jolieaprile Magnetic Diamond Double-sided Stud Earrings

Price
$0.00
$24.00
Save  0%
Quantity
Worldwide shipping
After-sales guarantee
Cruetly Free
Secure payments

Fashion and Elegant,Chic and Delicate,All in Your Beautiful Encounter with Jolieaprile Jewelry.We believe that every piece of jewelry has a story, it can bring unlimited charm to you.

A stylish square set with diamonds, let you look fashionable, elegant, attractive.

 

Magnetic stud design, easy to wear, will not fall off. You can instantly become elegant and charming without the pain of piercing your ears!

 

Both sides can be worn, equivalent to having two pairs of earrings. The diamond side is sparkling and attractive, the black side is elegant and noble.

 

One pair of stud earrings that are suitable for all occasions.

A beautiful gift for your loved one. It can also be used as a couple's ear stud, a silent declaration of love.

 

SPECIFICATIONS

Material: Copper, Rhinestone

Size: about 1cm

Package Includes: 1 pair * Magnetic Double-sided Stud Earrings

 

NOTE

Due to manual measurements, please allow slight measurement deviations.

Due to the different display and lighting effects, the actual color of the item may be slightly different from the color displayed in the picture.

  • Receiving time = Processing time+Shipping time.
  • Priority is given to delivery after payment.We'll arrange the fastest shipping for you.
  • If you have any questions, please contact our service@jolieaprile.com for assistance!

Return Policy:

  • Our Guarantee: Return or exchange within 14 days from the delivered date.
  • Request: Items received unused, undamaged and in original package.
  • Return shipping fees are at the customer's own expense.
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.