Joyside 13' x 15' Outdoor Wood Gazebo
Joyside 13' x 15' Outdoor Wood Gazebo
Joyside 13' x 15' Outdoor Wood Gazebo
Joyside 13' x 15' Outdoor Wood Gazebo
Joyside 13' x 15' Outdoor Wood Gazebo
Joyside 13' x 15' Outdoor Wood Gazebo
Joyside 13' x 15' Outdoor Wood Gazebo
Joyside 13' x 15' Outdoor Wood Gazebo
Joyside 13' x 15' Outdoor Wood Gazebo
Joyside 13' x 15' Outdoor Wood Gazebo
Joyside 13' x 15' Outdoor Wood Gazebo

Joyside 13' x 15' Outdoor Wood Gazebo

$2,199.99
$2,199.99
-$0.00
Quantity
Free Shipping
Ships Within 6-8 Business Days.
Sustainably Made
Secure Payments
SKU: A05-NL
Brand Joyside
Material Spruce
Style Garden,Unique
Product Dimensions 180"L x 144"W x 120"H
Item Weight 572 Pounds
Frame Material Plastic, Metal, Wood, Alloy Steel
Water Resistance Level Waterproof
Shape Square
Ultraviolet Light Protection Yes
Assembly Required Yes

About this item

  • šš®š¢š„š­-š¢š§ š‡šØšØš¤ šƒšžš¬š¢š š§: the ceiling hook built into the gazebo can meet the needs of hanging lamps and other decorations, adding your own unique style to the gazebo, hanging fans through it can also give you a hint of cool summer
  • šššš­š®š«ššš„ WšØšØš Gš«ššš¢š§: this wood gazebo is built with solid spruce wood, retaining the original wood texture and giving a natural and beautiful feel to this product, it will be an ideal gazebo for your outdoor activities whether sunny or rainy, enjoy your outdoor leisure time every time
  • š’š­š®š«šš² ššš§š š’š­ššš›š„šž: the whole frame structure is built with solid spruce wood and coated with special painting to ensure its lasting durability and free of moisture and mildew, the four posts are constructed with triangle metal braces on each joint to enhance the max weight capacity (100 lbs per square meter), driving the complementary stakes into drilled holes can add extra stability
  • šŒš®š„š­š¢š©š„šž š…š®š§šœš­š¢šØš§š¬: this 15 ft. X 13 ft. gazebo is spacious enough to accommodate around 10 to 12 people, perfect for parties, weddings, dinners and various outdoor activities in your backyard, lawn, garden, outdoor deck, patio or pool area
  • š€šŸš­šžš«-š¬ššš„šžš¬ š†š®ššš«ššš§š­šžšž: if you have any after-sales questions, please contact our professional service team first, we will reply you asap and provide a satisfactory solution
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.