👍Sofa Bedside Felt Storage Bag
👍Sofa Bedside Felt Storage Bag
👍Sofa Bedside Felt Storage Bag
👍Sofa Bedside Felt Storage Bag
👍Sofa Bedside Felt Storage Bag
👍Sofa Bedside Felt Storage Bag
👍Sofa Bedside Felt Storage Bag
👍Sofa Bedside Felt Storage Bag
👍Sofa Bedside Felt Storage Bag
👍Sofa Bedside Felt Storage Bag
👍Sofa Bedside Felt Storage Bag
👍Sofa Bedside Felt Storage Bag
👍Sofa Bedside Felt Storage Bag
👍Sofa Bedside Felt Storage Bag
👍Sofa Bedside Felt Storage Bag
👍Sofa Bedside Felt Storage Bag
👍Sofa Bedside Felt Storage Bag
👍Sofa Bedside Felt Storage Bag
1 / 9

👍Sofa Bedside Felt Storage Bag

$8.99
$17.29
Color
Please select a color

Quantity

SOFA BEDSIDE FELT STORAGE BAG

 

FEATURES

  • SPACE SAVE -- NO MESSING & NO MISSING

    Keep things beside you, easy reach and no more lost. The bedside organizer can store all of your belongings like tablets, phones, books, magazines, cables, chargers, and other small things together, no more clutter from your bed, sofa & desk. Will make you feel good.

  • HIGH QUALITY 100% HANDMADE & APPROPRIATED SIZE

    Polyester felt & adapt precision sewing which makes the bedside organizer sturdy and durable. This bedside storage bag has 1 large pocket, 4 small pockets. And it's lightweight and portable.

  • EASY INSTALLATION -- NO ASSEMBLY NEEDED

    This bedside bag is easily installed and fixed. You can simply place the inserting board of storage bag under the mattress /mats/books or heavy objects.No complicated installation, so you can enjoy.

  • MULTI-FUNCTIONS & WIDE USAGES & CONVENIENCE TO USE

    It can also be used as a desk hanging bag or sofa pocket. This bedside buddy is suitable for home, dorm rooms, bunk beds, hospital beds, small apartments, hostels, and traveling, will fit in just about anywhere. A perfect accessory for every person.

SPECIFICATIONS

  • Color: black, dark gray, light gray, khaki

  • Size: 22 * 27 cm / 8.7*10.6 in

  • Material: felt

  • Weight: 800 g / 1.8 lb

PACKAGE INCLUDED:

  • 1 * Sofa Bedside Felt Storage Bag

NOTES

  • Please pay more attention to the size reference before paying for your order.
  • 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.
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.