{
if (img && !validImages.includes(img)) {
validImages.unshift(img);
}
});
if ($event.detail.images.length > 0) activeImg = $event.detail.images[0];
} else if ($event.detail.image) {
activeImg = $event.detail.image;
if (!validImages.includes($event.detail.image)) {
validImages.unshift($event.detail.image);
}
}
}
"
x-data="{
activeImg: '/storage/products/29ce2dcb-7969-46bd-82e5-a248d4e1c89a.png',
showLightbox: false,
lightboxIndex: 0,
zoom: false,
savedScrollY: 0,
validImages: [],
imgAspect: 1,
zoomLevel: 1,
panX: 0,
panY: 0,
isDragging: false,
dragStartX: 0,
dragStartY: 0,
startPanX: 0,
startPanY: 0,
async init() {
const primary = '/storage/products/29ce2dcb-7969-46bd-82e5-a248d4e1c89a.png';
const extraImgs = JSON.parse('[\u0022\\\/storage\\\/products\\\/29ce2dcb-7969-46bd-82e5-a248d4e1c89a.png\u0022]');
const allImgs = Array.from(new Set([primary, ...extraImgs])).filter(Boolean);
const checks = await Promise.all(allImgs.map(async (src) => {
try {
const resp = await fetch(src, { method: 'HEAD' });
return resp.ok ? src : null;
} catch { return null; }
}));
this.validImages = checks.filter(Boolean);
if (this.validImages.length === 0) {
this.validImages = [primary];
}
this.activeImg = this.validImages[0];
},
onImgLoad(el) {
if (el && el.naturalWidth && el.naturalHeight) {
this.imgAspect = el.naturalWidth / el.naturalHeight;
}
},
openLightbox(i) {
this.lightboxIndex = i >= 0 ? i : 0;
this.zoomLevel = 1;
this.resetPan();
this.showLightbox = true;
document.documentElement.style.overflow = 'hidden';
document.body.style.overflow = 'hidden';
document.body.style.touchAction = 'none';
document.body.classList.add('overlay-open');
document.documentElement.classList.add('overlay-open');
},
closeLightbox() {
this.showLightbox = false;
this.zoomLevel = 1;
this.resetPan();
document.documentElement.style.overflow = '';
document.body.style.overflow = '';
document.body.style.touchAction = '';
document.body.classList.remove('overlay-open');
document.documentElement.classList.remove('overlay-open');
},
zoomIn() {
if (this.zoomLevel < 2.5) this.zoomLevel = parseFloat((this.zoomLevel + 0.25).toFixed(2));
},
zoomOut() {
if (this.zoomLevel > 1) {
this.zoomLevel = parseFloat((this.zoomLevel - 0.25).toFixed(2));
if (this.zoomLevel === 1) this.resetPan();
}
},
resetZoom() {
this.zoomLevel = 1;
this.resetPan();
},
resetPan() {
this.panX = 0;
this.panY = 0;
this.isDragging = false;
},
startDrag(e) {
if (this.zoomLevel <= 1) return;
this.isDragging = true;
const clientX = e.touches ? e.touches[0].clientX : e.clientX;
const clientY = e.touches ? e.touches[0].clientY : e.clientY;
this.dragStartX = clientX;
this.dragStartY = clientY;
this.startPanX = this.panX;
this.startPanY = this.panY;
},
onDrag(e) {
if (!this.isDragging || this.zoomLevel <= 1) return;
const clientX = e.touches ? e.touches[0].clientX : e.clientX;
const clientY = e.touches ? e.touches[0].clientY : e.clientY;
this.panX = this.startPanX + (clientX - this.dragStartX);
this.panY = this.startPanY + (clientY - this.dragStartY);
},
stopDrag() {
this.isDragging = false;
},
toggleZoom() {
if (this.zoomLevel > 1) {
this.zoomLevel = 1;
this.resetPan();
} else {
this.zoomLevel = 1.5;
}
},
nextImg() { this.zoomLevel = 1; this.resetPan(); this.lightboxIndex = (this.lightboxIndex + 1) % this.validImages.length; },
prevImg() { this.zoomLevel = 1; this.resetPan(); this.lightboxIndex = (this.lightboxIndex - 1 + this.validImages.length) % this.validImages.length; }
}">
= 0 ? validImages.indexOf(activeImg) : 0)">
/
Bagikan:
{ window.open('https://www.instagram.com/', '_blank', 'noopener,noreferrer'); window.toast.show('Tautan disalin — tempel di Instagram', 'success') })"
class="flex items-center gap-3 px-3 py-2.5 rounded-xl text-sm font-medium text-brand-700 hover:bg-brand-50 transition-colors">
Instagram
X (Twitter)
WhatsApp
Facebook
Kemoceng mikrofiber pembersih debu halus
0.0
★
|
0 Penilaian
|
0 Terjual
Rp 86.000
KategoriKemoceng
Stok
SKUKEM6703
Jumlah
Deskripsi Produk
Kemoceng Microfiber Gagang Panjang – Alat Pembersih Debu Serbaguna
Bersihkan debu dengan lebih cepat dan efisien menggunakan kemoceng berbahan microfiber yang lembut dan memiliki daya serap debu tinggi. Serat microfiber yang tebal mampu menangkap debu tanpa membuatnya beterbangan, sehingga hasil pembersihan menjadi lebih maksimal. Dilengkapi dengan gagang panjang yang ringan dan kokoh untuk memudahkan menjangkau area tinggi maupun sempit.
Keunggulan Produk
✅ Kepala kemoceng berbahan microfiber yang lembut, tebal, dan tidak mudah rontok.
✅ Efektif menangkap debu tanpa menggores permukaan.
✅ Gagang panjang memudahkan membersihkan area tinggi dan sulit dijangkau.
✅ Ringan, nyaman digenggam, dan mudah digunakan.
✅ Kepala kemoceng dapat dilepas untuk memudahkan pencucian (sesuai model).
✅ Dapat digunakan berulang kali sehingga lebih hemat dan ramah lingkungan.
Spesifikasi
Material kepala: Microfiber berkualitas tinggi.
Material gagang: Stainless steel/aluminium + plastik PP.
Warna kepala: Abu-abu.
Fungsi: Membersihkan debu pada berbagai permukaan.
Isi paket: 1 buah kepala kemoceng microfiber + 1 buah gagang.
Cocok Digunakan Untuk
Meja dan lemari.
Rak, etalase, dan perabot rumah.
TV, komputer, dan peralatan elektronik.
Kipas angin, AC, dan ventilasi.
Langit-langit, sudut ruangan, dan area tinggi lainnya.
Interior mobil.
Kemoceng microfiber ini merupakan solusi praktis untuk menjaga rumah, kantor, maupun tempat usaha tetap bersih. Dengan serat halus yang efektif mengangkat debu dan gagang panjang yang ergonomis, proses pembersihan menjadi lebih mudah, cepat, dan nyaman.
Spesifikasi
| Kategori | Kemoceng |
| SKU | KEM6703 |
| Total Stok Yang Tersedia | 200 |
0.0
☆
☆
☆
☆
☆
0 Ulasan
5★
0
4★
0
3★
0
2★
0
1★
0
Belum ada ulasan
Jadilah yang pertama memberikan ulasan untuk produk ini.