Joa Embroidered Lace Trimmed Flare Maxi Dress
Joa Embroidered Lace Trimmed Flare Maxi Dress
Joa Embroidered Lace Trimmed Flare Maxi Dress
Joa Embroidered Lace Trimmed Flare Maxi Dress
Joa Embroidered Lace Trimmed Flare Maxi Dress
Joa Embroidered Lace Trimmed Flare Maxi Dress
Joa Embroidered Lace Trimmed Flare Maxi Dress
Joa Embroidered Lace Trimmed Flare Maxi Dress
Joa Embroidered Lace Trimmed Flare Maxi Dress
Joa Embroidered Lace Trimmed Flare Maxi Dress
Joa Embroidered Lace Trimmed Flare Maxi Dress
Joa Embroidered Lace Trimmed Flare Maxi Dress
Joa Embroidered Lace Trimmed Flare Maxi Dress
Joa Embroidered Lace Trimmed Flare Maxi Dress
Joa Embroidered Lace Trimmed Flare Maxi Dress
Joa Embroidered Lace Trimmed Flare Maxi Dress
Joa Embroidered Lace Trimmed Flare Maxi Dress
Joa Embroidered Lace Trimmed Flare Maxi Dress

Joa Embroidered Lace Trimmed Flare Maxi Dress

$109.00
$0.00
-$-109.00
Color-Green
Please select a color
Size-S
Please select a size
Quantity
Free worldwide shipping over $79
Sustainably made
Secure payments
  • Please choose one size up if you have a relatively voluptuous upper body.
  • Model Measurements: Bust 93cm /32", Waist 71cm /28", Hips 102cm /40".
  • Model Height 178/ 5ft 10, Wears Size M.
  • Embroidered Lace, Lace Trimmed, Balloon Sleeves, Flare Ruffle Hem, Ankle Length.
  • Fabric: Embroidered Lace.
  • Flattering Fit.
  • Medium Stretch.
  • Fully Lined.
  • Opening: Invisible Zipper at the center back.
  • Color may vary due to lighting on images.
  • Item runs true to the size chart. Please refer to our size chart for the best fit.
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.