Home
12 in-1 Combo Game Table Set - 2x4ft Multi Game Table,Foosball, Air Hockey, Pool, Table Tennis,Chess, Shuffle-Board, Checkers, Bowling, Kids Adults Gifts for Home, Arcade, Game Room
12 in-1 Combo Game Table Set - 2x4ft Multi Game Table,Foosball, Air Hockey, Pool, Table Tennis,Chess, Shuffle-Board, Checkers, Bowling, Kids Adults Gifts for Home, Arcade, Game Room
12 in-1 Combo Game Table Set - 2x4ft Multi Game Table,Foosball, Air Hockey, Pool, Table Tennis,Chess, Shuffle-Board, Checkers, Bowling, Kids Adults Gifts for Home, Arcade, Game Room
${function() {
const variantData = data.variant || {"id":"e258aff7-ff92-4b9c-9d6a-3af1319d78c6","product_id":"0cf72315-baaa-46dc-b875-21b4f4e23f7a","title":"","weight_unit":"lb","inventory_quantity":0,"sku":"1600249-12IN1-7X","barcode":"","position":1,"option1":"","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":189.9,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"189.9","retail_price":"0","available":true,"url":"\/products\/12-in-1-combo-game-table-set-2x4ft-multi-game-table-foosball-air-hockey-pool-table-tennis-chess-shuffle-board-checkers-bowling-kids-adults-gifts-for-home-arcade-game-room?variant=e258aff7-ff92-4b9c-9d6a-3af1319d78c6","available_quantity":999999999,"options":[],"off_ratio":"0","flashsale_info":{"variant_id":"e258aff7-ff92-4b9c-9d6a-3af1319d78c6","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":"189.9","compare_at_price":"","discount_price":"189.9","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)) 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.
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.
With 12 appealing games, ABORON multi-game table is enough to provide endless joy for the whole family. Possesses 5 ball games, including football, bowling, table tennis, hockey and billiard, 6 classic board games and 1 toss game including chess, backgammon, checkers, sliding puzzle, poker, dice, ring toss, and tic tac toe. This combo game table features high resistance to deformation or cracks and withstands the test of time. And each leg is equipped with a considerate leveler, which makes the table stand steadily without wobbling. Our multi-game table is perfect for both adults and kids over 8 years old. Whether for family gathering, party or daily relaxation, this game table will always be a fabulous entertaining choice, and our game table is conducive to mental and physical health, intelligence, hand-eye coordination and communication skills. When not in use, all the tabletops can be stacked up together, which is quite space-saving.
-
【12 in 1 Entertainment Hub】- Featuring 5 thrilling ball games, 6 classic board games, and 1 toss game including football, hockey, billiards, ping pong, bowling, chess, backgammon, checkers, sliding puzzle, poker, dice, ring toss, and tic tac toe. This 12 in 1 game table set promises endless fun.
-
【Suitable for Various Setting】 - This multi-game table is perfect for any environment—whether at home, in an arcade, pub, game room, office, or dormitory. Take the fun wherever you go and enjoy a wide range of games that will entertain the whole family.
-
【Convenient Stackable Design】 - The thoughtful design allows you to save space by stacking all tabletops together when not in use. Easily switch between different game surfaces and ensure hassle-free storage.
-
【Durable Material & Sturdy Construction】 - Made from high-quality MDF material and supported by strong legs, this game table set is built to last. It features a durable basketball hoop and adjustable leg levelers for added stability and longevity.
-
【All-Inclusive Accessory Kit】 - Includes all essential accessories such as pool cues, pucks, paddles, balls, net, chalk, brush, and an accessory storage pocket for ping pong balls and paddles, ensuring you're always ready to play.
Vendor by :
ABORON
Sku :
1600249-12IN1-7X
Inventory :
999999999
${function(){
const variantData = data.variant || {"id":"e258aff7-ff92-4b9c-9d6a-3af1319d78c6","product_id":"0cf72315-baaa-46dc-b875-21b4f4e23f7a","title":"","weight_unit":"lb","inventory_quantity":0,"sku":"1600249-12IN1-7X","barcode":"","position":1,"option1":"","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":189.9,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"189.9","retail_price":"0","available":true,"url":"\/products\/12-in-1-combo-game-table-set-2x4ft-multi-game-table-foosball-air-hockey-pool-table-tennis-chess-shuffle-board-checkers-bowling-kids-adults-gifts-for-home-arcade-game-room?variant=e258aff7-ff92-4b9c-9d6a-3af1319d78c6","available_quantity":999999999,"options":[],"off_ratio":"0","flashsale_info":{"variant_id":"e258aff7-ff92-4b9c-9d6a-3af1319d78c6","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":"189.9","compare_at_price":"","discount_price":"189.9","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}
` }()}