{
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/cab597fe-cd7e-4f4b-954a-6937555ef86f.webp',
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/cab597fe-cd7e-4f4b-954a-6937555ef86f.webp';
const extraImgs = JSON.parse('[\u0022\\\/storage\\\/products\\\/cab597fe-cd7e-4f4b-954a-6937555ef86f.webp\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
Sikat Pembersih Debu Tempat Tidur, Meja, Sofa
0.0
★
|
0 Penilaian
|
0 Terjual
Rp 77.000
KategoriSikat
Stok
SKUBRU6726
Jumlah
Deskripsi Produk
Sikat kayu dengan bulu halus berkualitas yang dirancang untuk membersihkan debu, rambut, dan kotoran ringan pada berbagai permukaan. Pegangan ergonomis membuat sikat nyaman digenggam dan mudah digunakan dalam waktu lama. Cocok untuk penggunaan di rumah, salon, barbershop, maupun kebutuhan industri ringan.
Keunggulan:
- Terbuat dari gagang kayu yang kokoh dan awet.
- Bulu sikat halus, lembut, namun efektif mengangkat debu.
- Ringan dan nyaman digunakan.
- Tidak mudah rontok.
- Dilengkapi lubang pada gagang untuk memudahkan penyimpanan.
Spesifikasi:
Bahan gagang: Kayu
Bahan bulu: Serat sintetis halus
Panjang kayu: ±39,5 cm
Lebar kepala sikat: ±10 cm
Panjang sikat: ±27 cm
Warna: Kayu natural / Cokelat kayu
Berat: Ringan
Cocok digunakan untuk:
Membersihkan meja dan rak.
Membersihkan mesin atau peralatan.
Membersihkan rambut setelah potong rambut.
Membersihkan debu pada furnitur.
Membersihkan sela-sela permukaan.
Membersihkan debu di dlm mobil
Isi Paket:
1 x Sikat Kayu Bulu Halus
Spesifikasi
| Kategori | Sikat |
| SKU | BRU6726 |
| Total Stok Yang Tersedia | 120 |
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.