Yellow Mandala Flower
Passionate yellow, magical mandala
${function() {
const variantData = data.variant || {"id":"122f5e90-6595-4b42-a537-9f0a7dab1e7b","product_id":"e44bfb5b-6c49-4dba-9487-b3d153506ecd","title":"","weight_unit":"kg","inventory_quantity":0,"sku":"","barcode":"763102275034","position":1,"option1":"","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":14.99,"min_quantity":1}],"weight":"0","compare_at_price":"29.98","price":"14.99","retail_price":"29.98","available":true,"url":"\/products\/2024-new-turkish-beach-towels-mndala-yellow-200-90cm?variant=122f5e90-6595-4b42-a537-9f0a7dab1e7b","available_quantity":999999999,"options":[],"off_ratio":"50","flashsale_info":{"variant_id":"122f5e90-6595-4b42-a537-9f0a7dab1e7b","product_id":"","quantity":0,"discount_id":"d3493b66-0629-4fad-b930-bc608b9adcaf","limit_time":-1,"limit_buy":-1,"user_limit_buy":-1,"discount_sales":2,"discount_sales_rate":"2","discount_stock":-1,"ends_at":-1,"starts_at":1714099372,"allow_oversold":"uncheck","allocation_method":"none","price":"14.99","compare_at_price":"29.98","discount_price":"14.99","customary_saved_price":"14.99","customary_off_ratio":"50","discount_saved_price":"14.99","discount_off_ratio":"50","use_before_price":false,"before_price":"","title":"","properties":"","color_setting_promotional_copy":"SUMMER BREAK","discount_quantity":0,"is_need_split":false},"sales":223};
const saveType = "percentage";
const productLabelDiscountOn = true;
return `
-
${saveType == 'percentage'
? `-${variantData.off_ratio}%`
: `-`
}
`;
}()}
Product was out of stock.
Product is unavailable.
${function(){
const variantData = data.variant || {"id":"122f5e90-6595-4b42-a537-9f0a7dab1e7b","product_id":"e44bfb5b-6c49-4dba-9487-b3d153506ecd","title":"","weight_unit":"kg","inventory_quantity":0,"sku":"","barcode":"763102275034","position":1,"option1":"","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":14.99,"min_quantity":1}],"weight":"0","compare_at_price":"29.98","price":"14.99","retail_price":"29.98","available":true,"url":"\/products\/2024-new-turkish-beach-towels-mndala-yellow-200-90cm?variant=122f5e90-6595-4b42-a537-9f0a7dab1e7b","available_quantity":999999999,"options":[],"off_ratio":"50","flashsale_info":{"variant_id":"122f5e90-6595-4b42-a537-9f0a7dab1e7b","product_id":"","quantity":0,"discount_id":"d3493b66-0629-4fad-b930-bc608b9adcaf","limit_time":-1,"limit_buy":-1,"user_limit_buy":-1,"discount_sales":2,"discount_sales_rate":"2","discount_stock":-1,"ends_at":-1,"starts_at":1714099372,"allow_oversold":"uncheck","allocation_method":"none","price":"14.99","compare_at_price":"29.98","discount_price":"14.99","customary_saved_price":"14.99","customary_off_ratio":"50","discount_saved_price":"14.99","discount_off_ratio":"50","use_before_price":false,"before_price":"","title":"","properties":"","color_setting_promotional_copy":"SUMMER BREAK","discount_quantity":0,"is_need_split":false},"sales":223};
return `
Sku : ${variantData && variantData.sku}
Weight : ${variantData && variantData.weight}${variantData && variantData.weight_unit}
Barcode : ${variantData && variantData.barcode}
`
}()}
Enhance your beach experience with our Yellow Mandera Turkish Beach towel. Crafted from 100% Turkish organic cotton, it boasts an intricate jacquard weave for unparalleled softness, quick drying, and special sand protection, making it ideal for any seaside adventure. Finished with an elegant twist fringe, this towel not only serves its purpose but adds a touch of style to your beach look. And with our sand-free towels, you can easily leave the sand behind. Discover more details below.
•Product Size: Approx 35" x 71" (90cm x 180cm)
•Product Colors: Grey
•Regular size, Single jacquard weave with twisted fringe
•100% Turkish Organic Cotton
•Product Weight: 310
•Sand Resistant Design
•Super Absorbent
•Design In Turkish
•Machine Wash Cold
•Delicate Cycle
•Do Not Bleach
•Hang Air Dry
•Do Not Iron
•Do Not Dry Clean
•Do Not Use Fabric Softeners or Dryer Sheets
• Do Not Wash with Denim or Heavy Garment
Here are what our customers say.
Newest
Most liked
Highest ratings
Lowest ratings
Wow you reached the bottom
Most liked
Highest ratings
Lowest ratings
×
${function(){
const limit = typeof data === 'number' ? data : 0;
return `
Pictures/Videos (${limit || 0}/5)
` }()}
${(function(){
const closeIcon =
'
';
if (item.type === 'image') {
return `
${closeIcon}
`
}
return `
${closeIcon}
`
})()}
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.