DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
1/13
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
DIY Radio
1/13

DIY Radio

$23.99
$29.99
Save $6.00
Style
Please select a style
Quantity
Over $49.99 Free Shipping
30-day Zero-risk Return
100% Customer Satisfaction
Secure Payments
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.
PRODUCT DESCRIPTION

FEATURES

  • Qualified material: the DIY speaker kit is made up of electronic components and wood to provide a robust and stable design; the qualified material guarantees safe use and a long service life.

  • Easy installation: the DIY kits are easy to assemble, making them suitable for beginners; even children can complete the installation under adult supervision, but for younger children it is recommended to be accompanied by a parent.

  • Gift option: these electronic kits for adults can also be ideal gifts for DIY enthusiasts, electronics enthusiasts or hobbyists at birthdays, graduations, Christmas or other special events.

  • This fun and educational project introduces the basic concepts of the electronic components that make up a consumer audio product. It is suitable for children aged 5 and over, but adult supervision is strongly recommended.

SPECIFICATIONS

  • Type of experience: Physical

  • Age: 5 years and over

  • Material: Multi-material

  • Packaging: Bulk packaging, self-assembly

  • Product knowledge: Composition of the radio

  • How to use: After assembly, open the switch, adjust the aerial and you can tune in to your favourite channel!

  • Size:

PACAKGE

  • 1 * DIY Radio

NOTE

  • Please allow slight measurement deviations due to manual measurement.

  • Due to the different monitor and light effect, the actual color of the item might be slightly different from the color showed in the pictures