Modern Metal Magazine Newspaper Storage Rack, Multifunctional Sofa Side Table with Top Tray, Freestanding Book Holder for Living Room Modern Metal Magazine Newspaper Storage Rack, Multifunctional Sofa Side Table with Top Tray, Freestanding Book Holder for Living Room

$23.99
people are viewing this right now
Color: White [L:30cm/11.81inch][W:12cm/4.72inch][70cm/27.56inch]
Quantity
Product was out of stock.
Product is unavailable.
Free worldwide shipping

Enjoy free shipping on every order, delivered to your doorstep no matter where you are in the world.

Free returns

Shop with confidence with our hassle-free returns policy, ensuring you love what you buy.

Sustainably made

Designed with the planet in mind, all our products are committed to sustainable practices.

Secure payments

Your payment information is always protected with our advanced, encrypted checkout security.

Description

Decorative Metal Reading Storage Rack, Multi‑Pocket Book Newspaper Magazine Holder, Freestanding Sofa Side End Table for Home Living Room

  1. 2‑Tier Magazine Storage Pockets: Dual large‑capacity semicircular pockets, neatly store magazines, newspapers, books and journals, keep your living room tidy.
  2. Practical Top Tray Design: Upper flat tray holds mobile phones, cups, small ornaments, works as a mini sofa side table for daily use.
  3. Sturdy Metal Frame Construction: Whole‑piece metal welding structure, stable base prevents tipping, matte coating finish, scratch‑resistant for long‑time use.
  4. Space‑Saving Freestanding Layout: Compact dimension 30×12×70cm, slim footprint, fits beside sofa, couch, corner, entryway and bedroom.
  5. Modern Nordic Style: Stylish curved silhouette, available in multiple matte colors, perfectly matches diverse home furnishing styles as both storage and home decoration.
class SpzCustomDiscountFlashsale extends SPZ.BaseElement { constructor(element) { super(element); this.xhr_ = SPZServices.xhrFor(this.win); this.getFlashSaleApi = "\/api\/storefront\/promotion\/flashsale\/display_setting\/product_setting"; this.timer = null; this.variantId = "d3b620fc-d2a8-4e35-985f-a19d63fb37b3"; // 促销活动数据 this.flashsaleData = {} } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.templates_ = SPZServices.templatesForDoc(); this.viewport_ = this.getViewport(); // 挂载bind函数 解决this指向问题 this.render = this.render.bind(this); this.resize = this.resize.bind(this); this.switchVariant = this.switchVariant.bind(this); } mountCallback() { // 获取数据 this.getData(); this.element.onclick = (e) => { const cur = this.win.document.querySelector(".app_discount_flashsale_desc"); const setting = this.flashsaleData.product_setting; const landingUrl = `/promotions/discount-default/${this.flashsaleData.discount_info.id}`; const finalUrl = appDiscountUtils.resolveDiscountHref(setting, landingUrl); if (finalUrl && appDiscountUtils.inProductBody(this.element) && e.target !== cur) { this.win.open(finalUrl, '_blank', 'noopener'); } } // 绑定 this.viewport_.onResize(this.resize); // 监听子款式切换,重新渲染 this.win.document.addEventListener('dj.variantChange', this.switchVariant); } unmountCallback() { // 解绑 this.viewport_.removeResize(this.resize); this.win.document.removeEventListener('dj.variantChange', this.switchVariant); // 清除定时器 if (this.timer) { clearTimeout(this.timer); this.timer = null; } } resize() { if (this.timer) { clearTimeout(this.timer) this.timer = null; } this.timer = setTimeout(() => { this.render(); }, 200) } switchVariant(event) { const variant = event.detail.selected; if (variant.product_id == '54a6d76e-e25f-4a81-abfa-52cb8a12138a' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } getData() { const reqBody = { product_id: "54a6d76e-e25f-4a81-abfa-52cb8a12138a", product_type: "", variant_id: this.variantId } this.flashsaleData = {}; this.win.fetch(this.getFlashSaleApi, { method: "POST", body: JSON.stringify(reqBody), headers: { "Content-Type": "application/json" } }).then(async (response) => { if (response.ok) { this.flashsaleData = await response.json(); this.render(); } else { this.clearDom(); } }).catch(err => { this.clearDom(); }); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } render() { this.templates_ .findAndRenderTemplate(this.element, { isMobile: appDiscountUtils.judgeMobile(), isRTL: appDiscountUtils.judgeRTL(), inProductDetail: appDiscountUtils.inProductBody(this.element), flashsaleData: this.flashsaleData, image_domain: this.win.SHOPLAZZA.image_domain, }) .then((el) => { this.clearDom(); this.element.appendChild(el); }) } } SPZ.defineElement('spz-custom-discount-flashsale', SpzCustomDiscountFlashsale);

You may also like

No products viewed