Free shipping worldwide over $50
🔥HOT SALE 🔥Bicycle Riding Tail Light USB Charging
🔥HOT SALE 🔥Bicycle Riding Tail Light USB Charging
🔥HOT SALE 🔥Bicycle Riding Tail Light USB Charging
🔥HOT SALE 🔥Bicycle Riding Tail Light USB Charging
🔥HOT SALE 🔥Bicycle Riding Tail Light USB Charging
🔥HOT SALE 🔥Bicycle Riding Tail Light USB Charging
🔥HOT SALE 🔥Bicycle Riding Tail Light USB Charging
🔥HOT SALE 🔥Bicycle Riding Tail Light USB Charging
🔥HOT SALE 🔥Bicycle Riding Tail Light USB Charging
5 / 9
🔥HOT SALE 🔥Bicycle Riding Tail Light USB Charging
🔥HOT SALE 🔥Bicycle Riding Tail Light USB Charging
🔥HOT SALE 🔥Bicycle Riding Tail Light USB Charging
🔥HOT SALE 🔥Bicycle Riding Tail Light USB Charging
🔥HOT SALE 🔥Bicycle Riding Tail Light USB Charging
🔥HOT SALE 🔥Bicycle Riding Tail Light USB Charging
🔥HOT SALE 🔥Bicycle Riding Tail Light USB Charging
🔥HOT SALE 🔥Bicycle Riding Tail Light USB Charging
🔥HOT SALE 🔥Bicycle Riding Tail Light USB Charging
47% OFF
socoolyoo

🔥HOT SALE 🔥Bicycle Riding Tail Light USB Charging

$15.99 $29.99
0 sold
Light Color
Buy More Get More Discounts!
Qty

Bicycle Riding Tail Light USB Charging, your ideal cycling companion!

Introducing the LED Bike Tail Light, a revolutionary cycling accessory that takes visibility and safety to the next level.

With 40 lumens of power, this rear light redefines your presence on the road and lets you ride with confidence, day or night.

FEATURES

IMPROVED VISIBILITY - Illuminate your path with 40 lumens of radiant light, ensuring you're visible from afar.

SAFETY FIRST - Precision-engineered for unsurpassed performance, this taillight is the ideal safety companion for all cycling adventures.

ELEGANT DESIGN - Beyond functionality, the LED bike taillight adds a touch of elegance to your bike, making your ride both safe and stylish.

DAY AND NIGHT INSURANCE - Bright gear-5 hours of battery life power/Flash - 8 hours of battery life/Low light - 10 hours of battery life/Slow flash - 8 hours of battery life

EASY INSTALLATION - Practicality is essential, and this taillight is designed for trouble-free installation on any motorcycle. Stay visible, stay safe and ride in style!

SPECIFICATIONS

Construction: Precision-engineered for optimum performance

Versatility: Suitable for all types of cycling adventures

Material: ABS+PC

Product Size: 5.5*3*6.5cm

NOTE

Due to manual measurements, please allow slight measurement deviations.

Due to the different display and lighting effects, the actual color of the item may be slightly different from the color displayed in the picture.

You May Also Like Don't Like These?

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.