MJAA™-Waterproof Shower Wall Mounted 360° Rotation Angle Adjustable Phone Holder

KSh4,199.00
KSh6,999.00
-40%
Color:  Green
Quantity
people are viewing this right now
Kenya Nairobi, 2-Day Delivery
Guaranteed Safe Checkout and Fast Refunds
7 Days Free Return and Change
Customer Service Whatsapp: +254114968848--🔥Contact customer service to get a discounted price🔥 M-pesa

Description

📱【New Upgrade, Retractable, Angle Adjustable】

The unique design of the retractable adjustable holder not only has 360 degree arbitrary rotation, it can easily achieve free retraction, which makes the up and down adjustable angle increase significantly. The shower phone holder can be extended by up to 2.3in, allowing the phone screen to be displayed at the right angle.

📱【Waterproof and Anti-fog】

 The shower phone holder is made of high quality ABS, EVA and other friendly materials. Featuring a double-layer waterproof construction with an internal waterproof strap design and full wrap-around storage, it is impervious to water vapour and shower splashes. Note that it is forbidden to completely immerse the product in water.

📱【HD,High Sensitive Touchable Screen】

 With a 3mm high definition, high transparency and high sensitivity touchable screen, it does not affect the viewing quality and operating experience at all. You can check your text messages or emails, watch YouTube, TikTok, Netflix and let your tired body enjoy a more relaxing shower after a long day.

📱【Suitable for Most Phones】

 Suitable for mobile phones with screen size less than 7 inch. We offer a 2 year warranty, if you have any questions about the product, please feel free to contact us. Note: If your phone comes with a home button, then we recommend you to turn on the virtual button of your phone when using the bathroom phone waterproof case.

📱【Easy to Install, No Punching】

 The product comes with 3 pieces adhesive wall hooks, which have a strong suction force and are long lasting, you don't have to buy more than one product to use it in multiple places. Note that when installing adhesive wall hooks, you need to ensure that the wall surface is dry. For example, in bathrooms, kitchens and on mirrors.

Note: At least 24 hours after pasting, it can be put into the mobile phone holder

Specifications
  • Material: ABS
  • Color: White/Pink/Green/Purple
  • Product size: 11*20*4cm
  • Product weight: 182g
  • Package includes: 1/2 PCS X Phone Holder
Notes
  • 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.
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.