Nowy przenośny wentylator na szyję
${function() {
const variantData = data.variant || {"id":"cc3a0248-2175-408e-b381-b6f456e4e6d1","product_id":"210c606f-ce06-47e6-a7cd-eab47c79c253","title":"Czarny","weight_unit":"kg","inventory_quantity":1000,"sku":"tp02-Black","barcode":"","position":1,"option1":"Czarny","option2":"","option3":"","note":"","image":{"src":"\/\/img.staticdj.com\/edc0aa060504a120ac35c94c4363da2b.jpeg","path":"edc0aa060504a120ac35c94c4363da2b.jpeg","width":540,"height":540,"alt":"","aspect_ratio":1},"wholesale_price":[{"price":110,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"110","retail_price":"0","available":true,"url":"\/products\/portable-neck-fan-5?variant=cc3a0248-2175-408e-b381-b6f456e4e6d1","available_quantity":999999999,"options":[{"name":"Kolor","value":"Czarny"}],"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}
`
}()}
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
💨💨Jako prezent dla Twoich bliskich, najlepszy wentylator zewnętrzny przyniesie chłodny powiew w ten gorący letni dzień!
💨💨Łatwo wisi na szyi - mały i przenośny, po prostu go podnieś i gotowe!
CHARAKTERYSTYKA
- ✅ Konstrukcja bez użycia rąk:
Wentylator zestawu głośnomówiącego został zaprojektowany jako zestaw słuchawkowy, dzięki czemu możesz uwolnić ręce w dowolnym miejscu. Stylowy styl sprawia, że wyglądasz świetnie, możesz zabrać ten wentylator ze sobą w upalne dni.
- ✅ Bezpieczny wylot powietrza:
Konstrukcja bez skrzydeł, bezpieczna dla dzieci i osób starszych. Korzystając z wentylatora, nie musisz się martwić, że Twoje włosy zostaną złapane przez łopatki wentylatora. Otwory wentylacyjne na szyi, które można wykorzystać na całej twarzy, zapewniają wystarczającą ilość powietrza, aby zapewnić Ci chłód przez cały czas.
- ✅ Cicha konstrukcja i komfort:
Silnik tego wentylatora został ulepszony tak, aby pracował przy poziomie głośności mniejszym niż 36 decybeli. Wystarczająco cicho, aby usłyszeć własny oddech. Wykonane z przyjaznego dla środowiska materiału silikonowego i elementów elektronicznych. Bardziej miękkie, trwalsze i cichsze.
- ✅ 3/5 prędkości:
Zapewnia 3-10 godzin czasu pracy (w zależności od różnych prędkości). Naciśnij kilkakrotnie przycisk zasilania, aby ustawić odpowiednią prędkość wentylatora.
- ✅ KOMPAKTOWA KONSTRUKCJA:
Osobisty wentylator na szyję jest mały, kompaktowy i ultralekki, co zmniejsza obciążenie szyi.
✅ Szeroki zakres zastosowań:
Do zajęć wewnątrz i na świeżym powietrzu, w biurze, w metrze, w podróży, na kempingu, na pikniku, wędrówkach, gotowaniu, nauce.
SPECYFIKACJE
3 kursy
- Materiał: ABS, silikon, elementy elektroniczne
- Bateria: 800 mAh
- Moc: 2,5 W
- Bieg: 3 biegi
- Kolor: czarny, biały, różowy, zielony, niebieski
- Czas użytkowania: 1 bieg – 3 godziny, 2 bieg – 2,5 godziny, 3 bieg – 2 godziny
- Rozmiar produktu: 224*149*62,5 mm
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.