ABORON Sports Tent, Instant Tent Shelter Pop Up Bubble Clear View Tent, 51.18" x 51.18" x 70.86" Outdoor Bubble Tent, Screen House Room Camping Tent Rain Tent Instant Screen Tent,1-2 Person
ABORON Sports Tent, Instant Tent Shelter Pop Up Bubble Clear View Tent, 51.18" x 51.18" x 70.86" Outdoor Bubble Tent, Screen House Room Camping Tent Rain Tent Instant Screen Tent,1-2 Person
${function() {
const variantData = data.variant || {"id":"931dec28-bd92-4b7e-a618-fff86704d822","product_id":"d4f0143b-3beb-42dc-8609-9503cbbaec96","title":"","weight_unit":"lb","inventory_quantity":0,"sku":"P1600169-1.3","barcode":"","position":1,"option1":"","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":99,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"99","retail_price":"0","available":true,"url":"\/products\/aboron-sports-tent-instant-tent-shelter-pop-up-bubble-clear-view-tent-51-18-x-51-18-x-70-86-outdoor-bubble-tent-screen-house-room-camping-tent-rain-tent-instant-screen-tent-1-2-person?variant=931dec28-bd92-4b7e-a618-fff86704d822","available_quantity":999999999,"options":[],"off_ratio":"0","flashsale_info":{"variant_id":"931dec28-bd92-4b7e-a618-fff86704d822","product_id":"","quantity":0,"discount_id":"","limit_time":0,"limit_buy":0,"user_limit_buy":0,"discount_sales":0,"discount_sales_rate":"","discount_stock":0,"ends_at":0,"starts_at":0,"allow_oversold":"","allocation_method":"","price":"99","compare_at_price":"","discount_price":"99","customary_saved_price":"","customary_off_ratio":"","discount_saved_price":"","discount_off_ratio":"0","use_before_price":false,"before_price":"","title":"","properties":"","color_setting_promotional_copy":"","discount_quantity":0,"is_need_split":false},"sales":0};
const saveType = null;
const productSaveLabel = null;
return `
-
${ variantData.off_ratio }%
`; }()}
${function(){
return `
${data.starNum}/${data.starTotal}
`;
}()}
${function(){
return `
${data.showStarText === 'true' ? `
${data.starNum}/${data.starTotal}
` : ''}
`;
}()}
const TAG = 'spz-custom-revue-star';
class SPZCustomRevueStar extends SPZ.BaseElement {
constructor(element) {
super(element);
}
static deferredMount() {
return false;
}
buildCallback = () => {
this.action_ = SPZServices.actionServiceForDoc(this.element);
this.templates_ = SPZServices.templatesForDoc(this.element);
this.xhr_ = SPZServices.xhrFor(this.win);
this.starNum = this.element.getAttribute('starNum');
this.starTotal = this.element.getAttribute('starTotal');
this.showStarText = this.element.getAttribute('showStarText');
this.starColor = this.element.getAttribute('color');
this.interact = this.element.getAttribute('interact');
this.starSize = this.element.getAttribute('starSize') || 14;
}
mountCallback = () => {
this.doRender_({
starTotal: this.starTotal,
totalArray: Array.from({ length: Number(this.starTotal) }, (v, k) => k + 1),
starNum: this.starNum,
showStarText: this.showStarText,
starColor: this.starColor,
starSize: this.starSize
}).then(() => {
if (this.interact) {
this.addEventListeners_();
}
});
}
addEventListeners_ = () => {
const stars = document.querySelectorAll('.revue-star__star');
stars.forEach(star => {
star.addEventListener('click', event => {
const starEl = star.closest('.revue-star__star');
const starIndex = Number(starEl.dataset.index);
let isHalf = event.offsetX < star.offsetWidth / 2;
// rtl
if (document.documentElement.getAttribute('dir') === 'rtl') {
isHalf = event.offsetX > star.offsetWidth / 2;
}
const starValue = isHalf ? starIndex - 0.5 : starIndex;
this.starClickHandler_({ value: starValue });
});
});
}
renderStar = () => {
const isRtl = document.documentElement.getAttribute('dir') === 'rtl';
const stars = this.element.querySelectorAll('.revue-star__star');
stars.forEach((star, i) => {
const starIndex = i + 1;
const starEl = star.querySelector('svg:nth-child(2)');
const isHalf = this.starNum % 1 > 0 && Math.ceil(this.starNum) === starIndex;
const isSolid = starIndex <= Math.ceil(this.starNum);
starEl.style.display = isSolid ? 'block' : 'none';
if (isHalf) {
if (isRtl) {
// RTL布局下,如果是半星,显示星星的右半边
starEl.style.clipPath = `polygon(50% 0, 100% 0, 100% 100%, 50% 100%)`;
} else {
// LTR布局下,如果是半星,显示星星的左半边
starEl.style.clipPath = `polygon(0 0, 50% 0, 50% 100%, 0 100%)`;
}
} else {
starEl.style.clipPath = `polygon(0 0, 100% 0, 100% 100%, 0 100%)`
}
});
const showCountEle = this.element.querySelector('#revue-star-show-count');
showCountEle && SPZ.whenApiDefined(showCountEle).then((api) => {
api.render({ starNum: this.starNum, starTotal: this.starTotal });
});
}
doRender_ = (data) => {
return this.templates_
.findAndRenderTemplate(this.element, { starSize: this.starSize, ...data }, null)
.then((el) => {
const children = this.element.querySelector('*:not(template)');
children && SPZCore.Dom.removeElement(children);
this.element.appendChild(el);
})
.then(() => {
this.starNum = data.starNum;
this.renderStar();
});
}
starClickHandler_ = (event) => {
this.starNum = event.value;
this.renderStar();
this.triggerEvent_('change', { value: event.value });
}
triggerEvent_(name, data) {
const event = SPZUtils.Event.create(this.win, `${ TAG }.${ name }`, data || {});
this.action_.trigger(this.element, name, event);
}
isLayoutSupported(layout) {
return layout == SPZCore.Layout.CONTAINER;
}
}
SPZ.defineElement(TAG, SPZCustomRevueStar)
()
try {
const productId = window.SHOPLAZZA.meta.page.resource_id;
const productType = `default`;
const getProductReviews = (star_least) =>
fetch('/api/comment/count-star-multi',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
product_id: [productId],
star_least: star_least || 1,
}),
}).then(res => res.json());
try {
const section = document.querySelector('#revue-product-star');
if(productType === "gift_card" && section) {
section.style.display = 'none';
}
} catch(e) {
console.log(e);
window.addEventListener('load', () => {
try {
const section = document.querySelector('#revue-product-star');
if(productType=== "gift_card" && section) {
section.style.display = 'none';
}
} catch(e) {
console.log(e)
}
})
}
const getReviewsConfig = async () => {
let data = {};
const url = new URL(window.location.href);
const preview_theme_id = url.searchParams.get('preview_theme_id');
const commentConfig = await fetch('/api/comment-config', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
}
}).then(res => res.json());
data = commentConfig.data;
const themeConfig = await fetch(`/api/comment-config?theme_id=${preview_theme_id || ''}`, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
}
}).then(res => res.json());
if (themeConfig?.data && themeConfig.data.star_color) {
data.star_color = themeConfig.data.star_color;
}
if (preview_theme_id) {
data.star_least = window.apps_global && apps_global.reviews && apps_global.reviews.preview_star_least;
} else if (themeConfig?.data && themeConfig.data.product_settings) {
data.star_least = themeConfig.data.product_settings.star_least;
}
return data;
};
if (productId && window.SHOPLAZZA.meta.page.template_type == 1) {
getReviewsConfig().then(async res => {
const config = res;
let review = await getProductReviews(config.star_least);
review = review.data[productId];
if (!config.open_status || (!review.comment_avg_star && !config.show_no_comment_star)) {
const section = document.querySelector('#revue-product-star');
if (section) section.remove();
return;
}
const render = async () => {
const section = document.querySelector('#revue-product-star');
const starComponent = document.querySelector('#revue-product-star-component');
const count = document.querySelector('#revue-product-star-count');
count.innerText = review.published_count;
const api = await SPZ.whenApiDefined(starComponent);
api.doRender_({
starNum: review.comment_avg_star,
starTotal: 5,
showStarText: false,
starColor: config.star_color,
totalArray: Array.from({ length: 5 }, (v, k) => k + 1)
});
section.style.opacity = 1;
}
render();
document.addEventListener('dj.editor.update', render);
});
}
} catch (e) {console.warn(e)};
${function() {
const minInventory = parseInt('7');
const maxInventory = parseInt('10');
const randomInventory = Math.round(Math.random() * (maxInventory - minInventory)) + minInventory;
const customText = "Only {stock} item(s) left in stock!".replace(/\{stock\}/g, '' + randomInventory + '');
const barWidth = (randomInventory / maxInventory) * 100 + '%';
return `
`;
}()}
Product was out of stock.
Product is unavailable.
Enjoy free shipping on every order, delivered to your doorstep no matter where you are in the world.
Shop with confidence with our hassle-free returns policy, ensuring you love what you buy.
Designed with the planet in mind, all our products are committed to sustainable practices.
Your payment information is always protected with our advanced, encrypted checkout security.
ABORON sports tent is made of durable PVC material, which has excellent warmth retention, wind resistance, and water resistance, creating a relaxed outdoor space and enjoying excellent view.This sports pod tent is made of ultra transparent PVC and provides a clear 540 degree panoramic view.The small tent measures length (51.18") x width (51.18") x height (70.86"), can provide you with a spacious and comfortable shelter for 2-3 person. The large tent measures length (70.86") x width (70.86") x height (70.86") fit for 4-6 adults.Our weather proof instant tent shelter contains 1 door and 2 large windows, which offer excellent ventilation and easy access. The front door can be half opened as a fishing tent, and you can also enjoy real visual enjoyment while keeping warm.This sports tent comes with a compact carry bag. It's lightweight and easy to carry wherever you go. Ready to go in minutes!Our sports tent provides the ultimate weather protection for parents or coaches who participate in youth sports, training, fitness training, or playoff champions.
【ALL WEATHER SPORTS TENT】ABORON sports tent is made of durable PVC material, which has excellent warmth retention, wind resistance, and water resistance, creating a relaxed outdoor space and enjoying excellent view. In most weather conditions, you can sit in our sport pod tent and cheer for your team, enjoying every minute of the game with a perfect view.
【USER-FRIENDLY DESIGN】With hooks for hanging your possessions, clear windows for viewing angles, all-day UPF 50+ UV protection, and excellent ventilation for hot weather days. Strong PE Floor keeps you and your possessions dry, with a double-sided zipper for added security.
【AMPLE SPACE FOR TWO】This bubble tent measures at (Width:"51, Length: 51", Height: 71") fit for up to 3 people. and comes with a compact carry bag. It's lightweight and easy to carry wherever you go. Ready to go in minutes!
【USER FRIENDLY DESIGN】Our weather proof instant tent shelter contains 1 door and 2 large windows, which offer excellent ventilation and easy access. The front door can be half opened as a fishing tent, and you can also enjoy real visual enjoyment while keeping warm.
【PERFECT GIFT】Enjoy the fun of watching sports competitions while providing you with excellent visual enjoyment. Our sports tent provides the ultimate weather protection for parents or coaches who participate in youth sports, training, fitness training, or playoff champions.
Vendor by :
ABORON
Sku :
P1600169-1.3
Inventory :
999999999
${function(){
const variantData = data.variant || {"id":"931dec28-bd92-4b7e-a618-fff86704d822","product_id":"d4f0143b-3beb-42dc-8609-9503cbbaec96","title":"","weight_unit":"lb","inventory_quantity":0,"sku":"P1600169-1.3","barcode":"","position":1,"option1":"","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":99,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"99","retail_price":"0","available":true,"url":"\/products\/aboron-sports-tent-instant-tent-shelter-pop-up-bubble-clear-view-tent-51-18-x-51-18-x-70-86-outdoor-bubble-tent-screen-house-room-camping-tent-rain-tent-instant-screen-tent-1-2-person?variant=931dec28-bd92-4b7e-a618-fff86704d822","available_quantity":999999999,"options":[],"off_ratio":"0","flashsale_info":{"variant_id":"931dec28-bd92-4b7e-a618-fff86704d822","product_id":"","quantity":0,"discount_id":"","limit_time":0,"limit_buy":0,"user_limit_buy":0,"discount_sales":0,"discount_sales_rate":"","discount_stock":0,"ends_at":0,"starts_at":0,"allow_oversold":"","allocation_method":"","price":"99","compare_at_price":"","discount_price":"99","customary_saved_price":"","customary_off_ratio":"","discount_saved_price":"","discount_off_ratio":"0","use_before_price":false,"before_price":"","title":"","properties":"","color_setting_promotional_copy":"","discount_quantity":0,"is_need_split":false},"sales":0};
return `
Vendor by :
${data.product && data.product.vendor}
Weight :
${variantData && variantData.weight}${variantData && variantData.weight_unit}
Barcode :
${variantData && variantData.barcode}
Sku :
${variantData && variantData.sku}
Inventory :
${variantData && variantData.available_quantity}
` }()}