LTGEM Portable Travel Case for EDUPLINK Waterproof Portable Speaker
LTGEM Portable Travel Case for EDUPLINK Waterproof Portable Speaker
LTGEM Portable Travel Case for EDUPLINK Waterproof Portable Speaker
LTGEM Portable Travel Case for EDUPLINK Waterproof Portable Speaker
LTGEM Portable Travel Case for EDUPLINK Waterproof Portable Speaker
LTGEM Portable Travel Case for EDUPLINK Waterproof Portable Speaker
LTGEM Portable Travel Case for EDUPLINK Waterproof Portable Speaker
LTGEM Portable Travel Case for EDUPLINK Waterproof Portable Speaker
LTGEM Portable Travel Case for EDUPLINK Waterproof Portable Speaker

LTGEM Portable Travel Case for EDUPLINK Waterproof Portable Speaker

$12.78
$0.00
-$-12.78
Quantity
Free worldwide shipping
Free returns
Sustainably made
Secure payments
Vendor by: LTGEM
SKU: CS1208

[Perfect Fit] We've specifically designed this case to fit your EDUPLINK Speaker. OUTER DIMENSIONS: 8.10" L – 4.30" W – 3.60" H. [Smart Protection] EDUPLINK Speaker Case made of premium hard EVA and durable velvet materials,offers double protection against scratches, dents, bumps, and drops. [Easy to Carrying] EDUPLINK Speaker Case comes with hand strap to carry easily . This case is lightweight and compact to fit in your bag or luggage. [Thoughtful Design] Smooth but strong zipper gives you a better using experience. 360° Zip is convenient for you to put your speaker in and out the case . [Legendary LTGEM Satisfaction] We offer the best customer support in the speaker case industry. For product assistance or other help, contact us through Amazon buyer support.

From our customers

Add customer reviews and testimonials to showcase your store’s happy customers.
Author's name
Los Angeles, CA
Add customer reviews and testimonials to showcase your store’s happy customers.
Author's name
Los Angeles, CA
Add customer reviews and testimonials to showcase your store’s happy customers.
Author's name
Los Angeles, CA
Add customer reviews and testimonials to showcase your store’s happy customers.
Author's name
Los Angeles, CA
Add customer reviews and testimonials to showcase your store’s happy customers.
Author's name
Los Angeles, CA
Add customer reviews and testimonials to showcase your store’s happy customers.
Author's name
Los Angeles, CA
Add customer reviews and testimonials to showcase your store’s happy customers.
Author's name
Los Angeles, CA
Add customer reviews and testimonials to showcase your store’s happy customers.
Author's name
Los Angeles, CA
Add customer reviews and testimonials to showcase your store’s happy customers.
Author's name
Los Angeles, CA
Add customer reviews and testimonials to showcase your store’s happy customers.
Author's name
Los Angeles, CA
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.