🔥 Casualowa sukienka koszulowa z wysokim stanem i klapami
${function() {
const variantData = data.variant || {"id":"bad1f6b3-e94f-4461-9719-6f1e28352582","product_id":"a51c4abb-fb07-4518-b853-f70385d2193a","title":"Fioletowy-S","weight_unit":"kg","inventory_quantity":0,"sku":"of58-Purple-S","barcode":"","position":1,"option1":"Fioletowy","option2":"S","option3":"","note":"","image":{"src":"\/\/img.staticdj.com\/60ca764ae8a930ef2b851ac9bb1d58cd.jpeg","path":"60ca764ae8a930ef2b851ac9bb1d58cd.jpeg","width":800,"height":800,"alt":"","aspect_ratio":1},"wholesale_price":[{"price":136,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"136","retail_price":"0","available":true,"url":"\/products\/casual-lapel-printed-dress?variant=bad1f6b3-e94f-4461-9719-6f1e28352582","available_quantity":999999999,"options":[{"name":"Kolor","value":"Fioletowy"},{"name":"Rozmiar","value":"S"}],"off_ratio":0,"flashsale_info":[],"sales":0};
const saveType = "amount";
const productLabelDiscountOn = true;
return `
-
${saveType == 'percentage'
? `-${variantData.off_ratio}%`
: `-`
}
`;
}()}
${function(){
const tipText = "Wybierz {{ name }}".replace(/\{\{\s+name\s+\}\}/g, data);
return `${tipText}
`
}()}
${function(){
const tipText = "Wybierz {{ name }}".replace(/\{\{\s+name\s+\}\}/g, data);
return `${tipText}
`
}()}
Produkt był niedostępny.
Produkt niedostępny.
DHL Płatność gotówką przy odbiorze
Masz prawo zwrócić produkt w ciągu 14 dni
Zapłać online i zyskaj 10% rabatu
Te swobodne sukienki koszulowe z wysokim stanem i klapami to nowość roku 2024, jakiej jeszcze nie widziałeś!
Połącz z sandałami i modną biżuterią, aby stworzyć swobodny styl życia na świeżym powietrzu!
✅ Ładna gumka przy dekolcie
✅Super stylowy wygląd
✅Cięcie laserowe
✅Elastyczna talia i elastyczny dekolt
✅Materiał jest lekki i oddychający
✅Styl wygląda modnie i drogo
- Zdobądź go teraz, póki jest jeszcze w magazynie!
- Jeśli ilość zamówienia jest zbyt duża, towar wyślemy według czasu zamówienia.
-Proszę o wyrozumiałość i cierpliwość. Dbamy o to, abyś to dostał!
Dlaczego warto nas wybrać?
Współpracujemy bezpośrednio z producentami na całym świecie, aby zapewnić produkty najwyższej jakości. Posiadamy dział kontroli jakości, który pomaga nam dotrzymać słowa!
- Ceny są zawsze konkurencyjne.
- Świetna obsługa klienta.
- Niesamowity produkt i wysoka jakość.
- Świetne opinie od naszych kochanych klientów.
Wysyłka na cały świat ✈
Możesz otrzymać swoje przedmioty z wyprzedzeniem. Po rozpoczęciu zawsze otrzymasz numer śledzenia. Możesz to śledzić na każdym kroku! Fajne rzeczy, na które warto czekać!
Zakup w 100% wolny od ryzyka
Jeśli czujesz, że to nie dla Ciebie, nie martw się.
Oto, co mówią nasi klienci.
Najnowsza
Najbardziej lubiany
Najwyższe oceny
Najniższe oceny
Najbardziej lubiany
Najwyższe oceny
Najniższe oceny
×
${function(){
const limit = typeof data === 'number' ? data : 0;
return `
Zdjęcia/wideo (${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.