Multifunctional bicycle repair combination tool(PREMIUM 16 IN 1)
Multifunctional bicycle repair combination tool(PREMIUM 16 IN 1)
Multifunctional bicycle repair combination tool(PREMIUM 16 IN 1)
Multifunctional bicycle repair combination tool(PREMIUM 16 IN 1)
Multifunctional bicycle repair combination tool(PREMIUM 16 IN 1)

Multifunctional bicycle repair combination tool(PREMIUM 16 IN 1)

Quantity
$49.95
$0.00
-$-49.95
Free worldwide shipping
Free returns
Sustainably made
Secure payments
Shipping

THE ULTIMATE REPAIR TOOL YOU MUST HAVE!

Looking For A Perfect Super Compact & Convenient Bike Tool ,That You Can Just Carrying With You Everywhere And Repairing Everything You Need.... The Premium 16 IN 1 Multitool  Will Better Your Ride! 

    • 16 in 1 Bicycle Tool- Features 2, 2.5, 3, 4, 5, 6 and 8mm Allen Wrenches, Torx T25, Flathead Screwdriver, Phillip Screwdriver, Chain Breaker, Presta Valve Core Tool, 2 Tire Lever, Chain Link Storage And CO2 Cartridge Adapter!
    • Lightweight & Easy To Use- There’s a range of Hex, Torx, Phillips And Flathead Bits For All The Tightening/Untightening You’ll Need To Do On a Ride! And At Only 195 Grams, It’s Compact, Lightweight And Designed To Fit Perfectly In Your Pocket!
    • Slim, Compact & Versatile- This Lightweight, Compact Bike Multitool Is Built To Travel! Fits Into Any Pocket or Bike Bag, Yet Performs Like A Shop-Quality Instrument. The BIKETOOL™ Premium 16 IN 1 Multitool Is One Of The Most Important Piece Of Tool You Should Have In Your Saddle Bag!
    • High Quality Material- This Bike Multitool Is Made By Cr-V Steel, We Pride Ourselves On Creating Affordable, High Quality Products That Deliver The Features That Matter Without Those That Don't. 2.5” x 2.36” x 1.18”!

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.