ABORON 20/24/26 inch Adult Tricycle,3 Wheel Bike Adults,Three Wheels Cruiser Bike 3 Wheels,1/7 Speed,Cargo Basket,Multiple Colors
ABORON 20/24/26 inch Adult Tricycle,3 Wheel Bike Adults,Three Wheels Cruiser Bike 3 Wheels,1/7 Speed,Cargo Basket,Multiple Colors
${function() {
const variantData = data.variant || {"id":"7af52664-9d85-4b07-972b-8a8005570856","product_id":"91b9437f-95e3-497d-980a-e827b033186f","title":"","weight_unit":"lb","inventory_quantity":0,"sku":"YYM-P24-ZS","barcode":"","position":1,"option1":"","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":299,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"299","retail_price":"0","available":true,"url":"\/products\/aboron-20-24-26-inch-adult-tricycle-3-wheel-bike-adults-three-wheels-cruiser-bike-3-wheels-1-7-speed-cargo-basket-multiple-colors?variant=7af52664-9d85-4b07-972b-8a8005570856","available_quantity":999999999,"options":[],"off_ratio":"0","flashsale_info":{"variant_id":"7af52664-9d85-4b07-972b-8a8005570856","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":"299","compare_at_price":"","discount_price":"299","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.
ABORON 20/24/26 inch Adult Tricycle 7 Speed 3 Wheel Bike Adult Trikes, Three-Wheeled Bicycles Cruise Trike with Basket for Seniors, Women, Men for Recreation Shopping. Large rear basket for storage which are convenient for shopping and carrying enough thing as you want. It is also a great choice for the elders to move around. The basket is perfect for picnics or storing groceries. 24" wheel suitable for rider height: 4'11" - 5'10", 26" wheel suitable for rider height: 5'3" - 6'2". 7-speed grip-twist shifters and the derailleur, providing a wide gear range and smooth shifting, making you more effortless and comfortable. ABORON tricycle will be a practical tool in your daily life. It can be used for recreation, shopping or exercise. You no longer need to worry about riding bicycle with many items. Comfortably for you enjoy riding around town, the beach, or on a bike path.
-
Size Reference: ABORON Adult tricycle for seniors, women, men. 24" wheel suitable for rider height: 4'11" - 5'10", 26" wheel suitable for rider height: 5'3" - 6'2". Please check the size and make sure the tricycle suits you before purchasing.
-
7-Speed Tricycle with Big Wheels: 7-speed grip-twist shifters and the derailleur, providing a wide gear range and smooth shifting, making you more effortless and comfortable. Equipped with three big wheels with stylish full wrap fenders, it will make your bicycle clean and dry to the maximum extent. Lightweight alloy rims with galvanized iron spoke help keep the ride light and smooth.
-
Large Size Basket: ABORON adult tricycle has a large rear basket, which are convenient for shopping and carrying enough thing as you want. Folding basket is also perfect for picnics or storing groceries. Soft padded seat , it's more comfortable.
-
Sturdy Construction: ABORON 3-wheeled bike is made of high quality iron, and it can support rider and cargo combined weight up to 350 lbs. Besides practicality, the 3-wheel design also provides extra stability while riding. Stable and safe.
-
Convenient & Practical Trike: ABORON tricycle will be a practical tool in your daily life. It can be used for recreation, shopping or exercise. You no longer need to worry about riding bicycle with many items. Comfortably for you enjoy riding around town, the beach, or on a bike path.This adult trikes come with detailed instructions included for easily assemble, easy to install and use.
Vendor by :
ABORON
Sku :
YYM-P24-ZS
Inventory :
999999999
${function(){
const variantData = data.variant || {"id":"7af52664-9d85-4b07-972b-8a8005570856","product_id":"91b9437f-95e3-497d-980a-e827b033186f","title":"","weight_unit":"lb","inventory_quantity":0,"sku":"YYM-P24-ZS","barcode":"","position":1,"option1":"","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":299,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"299","retail_price":"0","available":true,"url":"\/products\/aboron-20-24-26-inch-adult-tricycle-3-wheel-bike-adults-three-wheels-cruiser-bike-3-wheels-1-7-speed-cargo-basket-multiple-colors?variant=7af52664-9d85-4b07-972b-8a8005570856","available_quantity":999999999,"options":[],"off_ratio":"0","flashsale_info":{"variant_id":"7af52664-9d85-4b07-972b-8a8005570856","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":"299","compare_at_price":"","discount_price":"299","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}
` }()}