Smiley graffiti casual street suit
${function() {
const variantData = data.variant || {"id":"c743d12d-7be4-4eb9-8397-66deb1cbe251","product_id":"b21178a7-9c0b-4fe0-b6b0-1df1999bf713","title":"Gray-S","weight_unit":"g","inventory_quantity":999,"sku":"XHmT8pNgc-Gray-S","barcode":"","position":1,"option1":"Gray","option2":"S","option3":"","note":"","image":{"src":"\/\/img.staticdj.com\/4550a41f09c836bf72c44fe15da289d6.jpeg","path":"4550a41f09c836bf72c44fe15da289d6.jpeg","width":1080,"height":1080,"alt":"","aspect_ratio":1},"wholesale_price":[{"price":60.89,"min_quantity":1}],"weight":"400","compare_at_price":"99","price":"60.89","retail_price":"99","available":true,"url":"\/products\/smiley-graffiti-casual-street-suit?variant=c743d12d-7be4-4eb9-8397-66deb1cbe251","available_quantity":999999999,"options":[{"name":"Color","value":"Gray"},{"name":"Size","value":"S"}],"off_ratio":38,"flashsale_info":[],"sales":4};
const saveType = "percentage";
const productLabelDiscountOn = true;
return `
-
${saveType == 'percentage'
? `-${variantData.off_ratio}% `
: `- `
}
`;
}()}
Color:
Gray
${function(){
const optName = "Color";
const optionValue = data.originData.selectData ? data.originData.selectData[optName].value : data.originData.value;
const optionValueText = optionValue ? (optionValue) : '';
return `${optionValueText} `;
}()}
${function(){
const tipText = "Please select a {{ name }}".replace(/\{\{\s+name\s+\}\}/g, data);
return `${tipText}
`
}()}
Size:
S
${function(){
const optName = "Size";
const optionValue = data.originData.selectData ? data.originData.selectData[optName].value : data.originData.value;
const optionValueText = optionValue ? (optionValue) : '';
return `${optionValueText} `;
}()}
${function(){
const tipText = "Please select a {{ name }}".replace(/\{\{\s+name\s+\}\}/g, data);
return `${tipText}
`
}()}
people are viewing this right now
Add to cart
$60.89
${function(){
const wholesale_enabled = false;
const qty = data.quantity || 1;
const currentSelectVariant = data.variant;
const defaultVariant = (data.product && data.product.variants && data.product.variants[0]);
const productVariant = {"id":"c743d12d-7be4-4eb9-8397-66deb1cbe251","product_id":"b21178a7-9c0b-4fe0-b6b0-1df1999bf713","title":"Gray-S","weight_unit":"g","inventory_quantity":999,"sku":"XHmT8pNgc-Gray-S","barcode":"","position":1,"option1":"Gray","option2":"S","option3":"","note":"","image":{"src":"\/\/img.staticdj.com\/4550a41f09c836bf72c44fe15da289d6.jpeg","path":"4550a41f09c836bf72c44fe15da289d6.jpeg","width":1080,"height":1080,"alt":"","aspect_ratio":1},"wholesale_price":[{"price":60.89,"min_quantity":1}],"weight":"400","compare_at_price":"99","price":"60.89","retail_price":"99","available":true,"url":"\/products\/smiley-graffiti-casual-street-suit?variant=c743d12d-7be4-4eb9-8397-66deb1cbe251","available_quantity":999999999,"options":[{"name":"Color","value":"Gray"},{"name":"Size","value":"S"}],"off_ratio":38,"flashsale_info":[],"sales":4};
const variantData = currentSelectVariant || defaultVariant || productVariant;
const wholesale_price = variantData.wholesale_price || [];
if(wholesale_enabled && wholesale_price.length > 0) {
let wholesaleIndex = wholesale_price.findIndex(item => {
return item.min_quantity > qty;
});
if(wholesaleIndex < 0){
wholesaleIndex = wholesale_price.length - 1;
}else if(wholesaleIndex > 0){
wholesaleIndex = wholesaleIndex - 1;
}
const wholesalePrice = wholesale_price[wholesaleIndex] || '';
return `
`
}else {
const price = variantData && variantData.price;
return price != undefined ? `
` : ' ';
}
}()}
Buy now
Product was out of stock.
Product is unavailable.
${function() {
const minDays = parseInt('10');
const maxDays = parseInt('20');
const customText = "Estimated Delivery\uff1a{min_date} - {max_date}";
const minDate = new Date(Date.now() + (minDays * 86400000));
const maxDate = new Date(Date.now() + (maxDays * 86400000));
const formatDate = (minDate.getFullYear() == maxDate.getFullYear() && minDate.getFullYear() == new Date().getFullYear())
? new Intl.DateTimeFormat('en', { month: 'short', day: '2-digit' })
: new Intl.DateTimeFormat('en', { month: 'short', day: '2-digit', year: 'numeric' });
const tipText = customText.replace(/\{min_date\}/g, '' + formatDate.format(minDate) + ' ')
.replace(/\{max_date\}/g, '' + formatDate.format(maxDate) + ' ');
return `
${tipText}
`;
}()}
${function() {
const postageFreeAmount = 99;
const custom_text = "Buy {amount} more to enjoy FREE Shipping";
const totalPrice = +data.total_price;
const diffPrice = postageFreeAmount - totalPrice;
const percentDiff = (diffPrice > 0 ? (totalPrice / postageFreeAmount * 100) : 100) + '%';
let tipText = "Your order is free delivery";
if (diffPrice > 0) {
tipText = custom_text.replace('{amount}', `
`);
}
return `
`;
}()}
Material : Cotton Pattern Type : Print Season : Winter , Summer , Autumn , Spring Style : Sporty , Vintage , Street , Casual Design : Basic Occasion : Vacation , Public , Street Color : Grey Size Chart
cm Size S M L XL 2XL 3XL 4XL 5XL XXXXXL Shoulder 43.5 45 46.5 48 49.5 51 52.5 54 55.5 Bust 104 108 112 116 120 124 128 132 136 Length 70 71 72 73 74 75 76 77 78 Sleeve Length 59 60 61 62 63 64 65 66 67 waist 68 73 78 83 88 93 98 103 108 hipline 101 106 111 116 121 126 131 136 141
inch Size inch S M L XL 2XL 3XL 4XL 5XL XXXXXL Shoulder 17.1 17.7 18.3 18.9 19.5 20.1 20.7 21.3 21.9 Bust 40.9 42.5 44.1 45.7 47.2 48.8 50.4 52.0 53.5 Length 27.6 28.0 28.3 28.7 29.1 29.5 29.9 30.3 30.7 Sleeve Length 23.2 23.6 24.0 24.4 24.8 25.2 25.6 26.0 26.4 waist 26.8 28.7 30.7 32.7 34.6 36.6 38.6 40.6 42.5 hipline 39.8 41.7 43.7 45.7 47.6 49.6 51.6 53.5 55.5
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}
`
})()}
Submit Comments Anonymously
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.