{
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/sku_sko6804_12.jpeg',
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/sku_sko6804_12.jpeg';
const extraImgs = JSON.parse('[\u0022\\\/storage\\\/products\\\/sku_sko6804_12.jpeg\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
Set sapu dan pengki ekstra lebar
0.0
★
|
0 Penilaian
|
0 Terjual
Rp 164.000
KategoriSet Sapu
Stok
SKUSKO6804
Jumlah
Deskripsi Produk
Sapu lantai berkualitas tinggi yang dirancang untuk membersihkan debu, rambut, pasir, dan kotoran sehari-hari secara maksimal. Memiliki kepala sapu selebar 40 cm dengan bulu yang rapat dan lentur sehingga mampu menyapu area lebih luas dalam sekali gerakan. Gagang panjang berbahan kokoh memberikan kenyamanan saat digunakan tanpa perlu membungkuk.
Keunggulan Produk
- Kepala sapu lebar 40 cm untuk mempercepat proses menyapu.
- Bulu sapu rapat dan halus, efektif mengangkat debu, rambut, dan kotoran halus.
- Ujung bulu lentur sehingga mudah menjangkau sudut ruangan dan bawah furnitur.
- Gagang stainless steel kuat, ringan, dan tahan lama.
- Desain ergonomis, nyaman digunakan dalam waktu lama.
- Mudah dibersihkan dan disimpan setelah digunakan.
Spesifikasi
Jenis: Sapu lantai serbaguna
Lebar kepala sapu: ± 40 cm
Material gagang: Stainless steel
Material kepala: Plastik PP berkualitas
Material bulu: Serat PET berkualitas
Pilihan warna: Hijau dan abu-abu
Cocok untuk: Lantai keramik, granit, marmer, vinyl, parket, semen halus, dan berbagai permukaan lantai lainnya.
Cocok Digunakan Untuk
Rumah, apartemen, dan kos.
Kantor dan ruang kerja.
Sekolah, toko, restoran, dan kafe.
Gudang, hotel, serta area komersial lainnya.
Sapu lantai ini menjadi pilihan yang tepat untuk kebutuhan kebersihan sehari-hari. Dengan kepala sapu yang lebar, bulu yang rapat, dan gagang yang kokoh, pekerjaan menyapu menjadi lebih cepat, ringan, dan menghasilkan lantai yang bersih secara maksimal.
Spesifikasi
| Kategori | Set Sapu |
| SKU | SKO6804 |
| Total Stok Yang Tersedia | 60 |
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.