Personalized Moon Phase Art Frame

people are viewing this right now
$32.99
$42.99
-$10.00
  • Deliver to: |
FRAME COLOR:  Black Wooden Framed⭐Popular⭐
Size:  8"x12" (20cm x 30cm)
Quantity

Description

NOW IT IS POSSIBLE TO KNOW HOW THE MOON LOOKED LIKE ON ANY SPECIAL DATE.

Introducing our Moon Phase Frame®  – a personalized creation that commemorates special moments under the enchanting glow of the moon. With its celestial design, this frame elegantly showcases a custom moon phase of your chosen date, accompanied by a custom message and personalized header names, creating a celestial keepsake of your cherished memories.

Perfect For:

  • Gifts: It is perfect gift for your Parent, for Mother's Day, for Friend or for family member with a thoughtful and personalized gift that captures the magic of a special moment under the moonlight. Whether it's for a birthday, anniversary, or any other occasion, our Celestial Moon Phase Frame is sure to be treasured and appreciated.
  • Home Decor: Elevate your living space with a celestial and enchanting décor piece that celebrates the beauty of the night sky. Whether displayed in your bedroom, living room, or hallway, this frame serves as a visual reminder of the celestial moments that have illuminated your life.

Product Features:

  • Customizable Moon Phase: Immerse yourself in the magic of the night sky with our customizable moon phase feature, allowing you to select any date that holds significance for you. Whether it's your anniversary, a birthday, or any other memorable occasion, this unique feature captures the celestial beauty of the moon on that special day.
  • Personalized Message: Add a personal touch to your frame with a custom message, such as "Happy Birthday," "I love you to the moon and back," or any other sentiment that celebrates the occasion. This customization allows you to express your heartfelt wishes and sentiments, making it a truly meaningful gift or keepsake.
  • Header Names: Customize the header of your frame with the names of your choice, whether it's your own names, a couple's nickname, or any other term of endearment. This personalization adds a special touch to your frame, reflecting the unique bond and connection shared between you and your loved one.
  • Quality Frame Construction: Our Celestial Moon Phase Frame is expertly crafted using high-quality materials to ensure durability and elegance. With its celestial design and timeless appeal, this piece seamlessly complements any décor, making it a cherished addition to your home or office space.

How to Order:

  1. Select your preferred option (with or without a frame).
  2. Choose the date for your custom moon phase and input the names for the personalized header.
  3. Customize the message to reflect the sentiment you wish to convey, such as "Happy Birthday" or any other meaningful phrase.
  4. Complete your order and await delivery of your beautifully crafted Celestial Moon Phase Frame.

Frame Details:

  • Ready-to-hang design, delivered within the frame for effortless display.
  • Available in two sizes: 8"x12" (20cm x 30cm),12"x16"(30cm x 40cm),15"x20"(38cm x 51cm).
  • Crafted with high-quality materials for durability and elegance.
  • We prioritize sustainability with FSC-certified paper and frames, promoting a better future for both people and the planet.

Capture the Celestial Moments: With our Celestial Moon Phase Frame, you can commemorate the special moments illuminated by the moonlight and create a lasting reminder of the love and connection you share with your partner or loved ones. Order yours today and celebrate the magic of the night sky.

Shipping & Returns

  • Orders can be cancelled or modified within 2 hours after being placed.
  • International orders: It may take additional days if orders have to go through customs. We have no influence on the customs process and apologize for any inconvenience due to delivery delays resulting from this.
  • For more detailed information and instructions, please visit our Replacement & Refund Policy.
  • Learn more about Shipping Policy here.

Personalization

  • Please complete fields required to customize options (Name/Characteristics) and recheck carefully all the customized options.
  • Text: Standard English excluding special characters, emojis to ensure the best looking.
  • Characteristics: Pick one-by-one options that match your description.
  • The last step, click “ADD TO CART” and wait for us to create your wonderful creation ❤️.
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.