【Ship Form USA】Sofirn HS20 Rechargeable Headlamp
【Ship Form USA】Sofirn HS20 Rechargeable Headlamp
【Ship Form USA】Sofirn HS20 Rechargeable Headlamp
【Ship Form USA】Sofirn HS20 Rechargeable Headlamp
【Ship Form USA】Sofirn HS20 Rechargeable Headlamp
【Ship Form USA】Sofirn HS20 Rechargeable Headlamp
【Ship Form USA】Sofirn HS20 Rechargeable Headlamp
【Ship Form USA】Sofirn HS20 Rechargeable Headlamp
【Ship Form USA】Sofirn HS20 Rechargeable Headlamp
【Ship Form USA】Sofirn HS20 Rechargeable Headlamp
【Ship Form USA】Sofirn HS20 Rechargeable Headlamp
【Ship Form USA】Sofirn HS20 Rechargeable Headlamp

【Ship Form USA】Sofirn HS20 Rechargeable Headlamp

style
Please select a style
Price
$49.99
$38.99
Save  22%
303 sold
Quantity
Free worldwide shipping over $29
Returnable within 30 days
Professional service for everyone
Secure payments

This link is only for people located in USA, order will be sent from California. If you want to buy together with other models, please make sure they are all shipped from USA.

Specifications:

1. Type-C Rechargeable: HS20 runs on one powerful battery. The type-c charging port is built in and allows fast recharging of the battery within the flashlight. (around 2.5hours to charging one 3000mah 18650 battery)

2. Rugged Construction: The HS20 is built of 6061 high-quality aluminum and IPX8 water resistant, can be used in rainstorms except for diving underwater.

3. Automatic Step-down: Turbo mode steps down to High mode automatically to prevent.

4. Hands-free Headlamp: the headlamp also features the adjustable headband for comfortable all-day wear. Perfect for a variety of hands-free uses, repairing, maintenance, running, camping, hiking, and other outdoor activities.

5. Package:
HS20 Kit: HS20 Headlight+1*3000mah 18650 button-top battery+ 1* rechargeable type-C cable+ 2* spare water-resistant O-rings+ 1* User Manual

 

Customer Reviews

Here are what our customers say.

Write a Review
Customer Reviews
Wow you reached the bottom
Newest
Most liked
Highest ratings
Lowest ratings
×
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.