🎁Free Shipping on Orders Over $59🎉
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
5 / 15
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
💖Luminous Murals💖-Decorate Room with Romance
46% OFF
Fnkus

💖Luminous Murals💖-Decorate Room with Romance

$26.96 $49.99
0 sold
Size
Style
Qty 1000 in stock

Light is visible. Looking at the work, people wonder how they expressed that sunlight. Beyond the light, there is a question about how to see things.

This is a wonderful encounter of light and shadow, when you turn on the switch, you will see the perfect fusion of light and shadow

Enjoy the afternoon relaxation in your room, the summer sun, the view outside your window, and your puppy at home. It's really a great idea!

If you have a line, the bird's eye view will be a plane, but when it lights up, it gives you spatiality, time, and emotion. 

Made from acrylic panels, this charming lamp comes with many patterns and will show you a new world when the light is turned on. This makes a really thoughtful gift for a party, new baby, or birthday.

Specification

  • Switch: Button
  • Power supply: USB Interface
  • Color temperature: 3000-6000K
  • Size: 9.1*6.7inch/12.2*8.7inch
  • Material: PS picture frame + acrylic

Note

  • Due to the different monitor and light effects, the actual color of the item might be slightly different from the color shown in the pictures.

 

const TAG = 'spz-custom-painter-button-animation'; const MAX_ITERATION_COUNT = 99999999; const SITE = (window.C_SETTINGS && window.C_SETTINGS.routes && window.C_SETTINGS.routes.root) || ''; const ADD_TO_CART_ANIMATION_SETTING = `${SITE}/api/marketing_atmosphere_app/add_to_cart_btn_animation/setting`; class SpzCustomPainterButtonAnimation extends SPZ.BaseElement { /**@override */ static deferredMount() { return false; } /** @param {!SpzElement} element */ constructor(element) { super(element); /** @private {!../../src/service/xhr-impl.Xhr} */ this.xhr_ = SPZServices.xhrFor(this.win); /** @private {Object} */ this.data_ = null; /** @private {Element} */ this.addToCartButton_ = null; /** @private {boolean} */ this.productAvailable_ = true; /** @private {number} */ this.timerId_ = null; /** @private {number} */ this.animationExecutionCount_ = 0; /** @private {boolean} */ this.selectedVariantAvailable_ = true; /** @private {number} */ this.delay_ = 5000; /** @private {number} */ this.iterationCount_ = 5; /** @private {string} */ this.animationClass_ = ''; } /** @override */ isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } /** @override */ buildCallback() { this.productAvailable_ = this.element.hasAttribute('product-available'); this.selectedVariantAvailable_ = this.element.hasAttribute('selected-variant-available'); } /** @override */ mountCallback() { this.render_(); } /** @private */ render_() { if (!this.productAvailable_) { return; } this.fetch_().then((data) => { if (!data) { return; } this.data_ = data; this.animationClass_ = `painter-${data.animation_name}-animation`; this.iterationCount_ = data.animation_iteration_count === 'infinite' ? MAX_ITERATION_COUNT : data.animation_iteration_count; const animationDuration = 1; const animationDelay = data.animation_delay || 5; this.delay_ = (animationDuration + animationDelay) * 1000; this.handleButtonEffect_(); }); } /** * @param {JsonObject} data * @return {(null|Object)} * @private */ parseJson_(data) { try { return JSON.parse(data); } catch (e) { return null; } } /** * @return {Promise} * @private */ fetch_() { return this.xhr_.fetchJson(ADD_TO_CART_ANIMATION_SETTING).then((data) => { if (!data || !data.enabled) { return null; } return this.parseJson_(data.detail); }); } /** @private */ getAddToCartButton_() { this.addToCartButton_ = SPZCore.Dom.scopedQuerySelector( document.body, '[data-section-type="product"] [role="addToCart"], [data-section-type="product_detail"] [role="addToCart"], [data-section-type="product_detail"] [data-click="addToCart"], [data-section-type="product"] [data-click="addToCart"]' ); } /** @private */ restartAnimation_() { this.addToCartButton_.classList.remove(this.animationClass_); this.addToCartButton_./* OK */ offsetWidth; this.addToCartButton_.classList.add(this.animationClass_); this.animationExecutionCount_++; } /** @private */ clearTimer_() { this.win.clearInterval(this.timerId_); this.timerId_ = null; } /** @private */ setupTimer_() { this.timerId_ = this.win.setInterval(() => { this.restartAnimation_(); if (this.animationExecutionCount_ >= this.iterationCount_) { this.removeAnimationClass_(); this.clearTimer_(); } }, this.delay_); } /** @private */ restartTimer_() { if (this.animationExecutionCount_ >= this.iterationCount_) { this.removeAnimationClass_(); return; } this.setupTimer_(); } /** @private */ listenVariantChange_() { SPZUtils.Event.listen(self.document, 'dj.variantChange', (e) => { const selectedVariant = e.detail && e.detail.selected; if (!selectedVariant) { return; } const {available} = selectedVariant; if (this.selectedVariantAvailable_ !== available) { this.selectedVariantAvailable_ = available; this.clearTimer_(); if (available) { this.restartTimer_(); } } }); } /** @private */ removeAnimationClass_() { this.win.setTimeout(() => { this.addToCartButton_.classList.remove(this.animationClass_); }, 1000); } /** @private */ handleButtonEffect_() { this.getAddToCartButton_(); if (!this.addToCartButton_) { return; } if (this.selectedVariantAvailable_) { ++this.animationExecutionCount_; this.addToCartButton_.classList.add(this.animationClass_); if (this.iterationCount_ === 1) { this.removeAnimationClass_(); return; } this.setupTimer_(); } this.listenVariantChange_(); } } SPZ.defineElement(TAG, SpzCustomPainterButtonAnimation);