${(function(){ const get_random_six_digits = () => { return Math.random().toString().slice(-6) }; const wholesale_enabled = false; const setting_product_image_display = "natural"; const product_image = data.image; const secondary_image = data.secondImage; const image_width = product_image.width; let image_height = product_image.height; if(setting_product_image_display == '100%'){ image_height = image_width }else if(setting_product_image_display == '133.33%'){ image_height = image_width * 1.3333; }; const product_image_hover_on = true && !!secondary_image.src; const has_save_label = true && ((+data.compare_at_price) > (+data.price)); const is_single_variant = data.variants.length == 1; const min_price_variant_href = (data.min_price_variant && data.min_price_variant.available) ? data.min_price_variant.withinUrl : data.withinUrl; const retail_price_max = data.retail_price_max || data.compare_at_price_max; const THUMBNAILS_MAX_SIZE = 3; const thumbnails = data.thumbVariants.slice(0, THUMBNAILS_MAX_SIZE); const image_wrap_id = 'image_wrap_' + get_random_six_digits(); const image_carousel_id = 'image_carousel_' + get_random_six_digits(); const thumbnails_selector_id = 'thumbnails_selector_' + get_random_six_digits(); const form_id = 'form_' + get_random_six_digits(); const mixed_wholesale = data.mixed_wholesale; return `
${ data.available ? `${ (+data.compare_at_price > +data.price) ? `Save
` : '' }` : "Sold out" }
Mixed Lot
${data.title}
${ data.price_min != data.price_max ? `from
` : `
` }
+${data.remainInvisibleThumbCount}
` })()}
🎄 Christmas Coming!🎅
🎄 Christmas Coming!🎅
Log in
Create an account
${data.data && data.data.count}
E-Scooter
E-Bike
Parts & Accessories
Parts & Accessories
KuKirin G2
NEW
KuKirin G2 Pro
KuKirin G2 Pro2024
KuKirin G2 Max
KuKirin G2 Master
KuKirin G3
KuKirin G4
KuKirin G3 Pro
KuKirin G4 Max
KuKirin C1 Pro
KuKirin V1 Pro
KuKirin G1 Pro
KuKirin V2
KuKirin G2 Electric Scooter Official Accessories(All)
from
€19.90
Community
Ride & Share
Review Video
Product Comparison
More links
${(function(){ const formatLinks = (links) => { return links.map(link => { link.tag = tags[link.title.toUpperCase()] || {}; link.target_attr = link.target == '_blank' ? 'target="_blank"' : ''; link.href_attr = link.url ? `href="${link.url}"` : ''; if(link.children && link.children.length){ link.children = formatLinks(link.children); } return link; }) }; const tags = {"KUKIRIN G2":{"label":"NEW","bg":"#E62405","color":"#FFFFFF"}}; let linkList = [ { id: 73385783, title: "E-Scooter", url: "\/collections\/electric-scooters", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 73385785, title: "E-Bike", url: "\/collections\/electric-bike", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 73385787, title: "Parts & Accessories", url: "\/collections\/accessories", target: "", levels: 1, product0: { id: ("36cdc7f0-acaf-452f-9c32-88a7b18ee880") }, children: [ { title: "Parts & Accessories", url: "\/collections\/accessories-collection", target: "", levels: 0, children: [ ] }, { title: "KuKirin G2", url: "\/products\/kukirin-g2-official-accessories", target: "", levels: 0, children: [ ] }, { title: "KuKirin G2 Pro", url: "\/products\/kugookirin-g2-pro-kukirin-g2pro-kukirin-g2-max-electric-scooter-official-accessories", target: "", levels: 0, children: [ ] }, { title: " KuKirin G2 Pro2024 ", url: "\/products\/2024-kukirin-g2-pro-official-accessories-0oki", target: "", levels: 0, children: [ ] }, { title: "KuKirin G2 Max", url: "\/products\/kukirin-g2-max-electric-scooter-official-accessories-all", target: "", levels: 0, children: [ ] }, { title: "KuKirin G2 Master", url: "\/products\/kukirin-g2-master-electric-scooter-accessories", target: "", levels: 0, children: [ ] }, { title: "KuKirin G3", url: "\/products\/kugoo-kirin-g3-electric-scooter-official-accessories", target: "", levels: 0, children: [ ] }, { title: "KuKirin G4", url: "\/products\/spare-parts-for-kukirin-g4-electric-scooter", target: "_blank", levels: 0, children: [ ] }, { title: "KuKirin G3 Pro", url: "\/products\/kukirin-g3pro-electric-scooter-official-accessories", target: "_blank", levels: 0, children: [ ] }, { title: "KuKirin G4 Max", url: "\/products\/kukirin-g4-max-electric-scooter-official-accessories-all", target: "", levels: 0, children: [ ] }, { title: "KuKirin C1 Pro", url: "\/products\/spare-parts-for-kukirin-c1-pro-electric-scooter", target: "_blank", levels: 0, children: [ ] }, { title: "KuKirin V1 Pro", url: "\/products\/spare-part-for-kukirin-v1-pro-electric-bike", target: "_blank", levels: 0, children: [ ] }, { title: "KuKirin G1 Pro", url: "\/products\/kukirin-g1-pro-official-accessories", target: "_blank", levels: 0, children: [ ] }, { title: "KuKirin V2", url: "\/products\/spare-part-for-kukirin-v2-foldable-electric-bike", target: "", levels: 0, children: [ ] }, ] }, { id: 73385831, title: "Community", url: "", target: "", levels: 1, product0: { id: (null) }, children: [ { title: "Ride & Share", url: "\/pages\/ride-share", target: "", levels: 0, children: [ ] }, { title: "Review Video", url: "\/pages\/review-video", target: "", levels: 0, children: [ ] }, { title: "Product Comparison", url: "\/pages\/product-comparison", target: "", levels: 0, children: [ ] }, ] }, ].slice(offset); linkList = formatLinks(linkList); const hasChild = linkList.some(link => !!(link.children && link.children.length || link.product0.id)); return `
${link.title}
${link.tag.label}
${second_link.title}
${second_link.tag.label}
${third_links.title}
${third_links.tag.label}
${link.title}
${link.tag.label}
` })()}
Log in
Create an account
${data.data && data.data.count}
${(function(){ if (data === undefined || typeof data !== 'string' || data == '') return '
'; const keyword = encodeURIComponent(data); return `
View more
Your search for '${data}' did not yield any results.
` })()}
E-Scooter
E-Bike
Parts & Accessories
Parts & Accessories
Parts & Accessories
KuKirin G2
NEW
KuKirin G2 Pro
KuKirin G2 Pro2024
KuKirin G2 Max
KuKirin G2 Master
KuKirin G3
KuKirin G4
KuKirin G3 Pro
KuKirin G4 Max
KuKirin C1 Pro
KuKirin V1 Pro
KuKirin G1 Pro
KuKirin V2
Community
Community
Ride & Share
Review Video
Product Comparison
Log in
Create an account
(function(){ let w = window.innerWidth; function setHeaderCssVar() { const headerEle = document.getElementById('shoplaza-section-header'); if(!headerEle){ return }; document.body.style.setProperty('--window-height', `${window.innerHeight}px`); document.body.style.setProperty('--header-height', `${headerEle.clientHeight}px`); const mdScorllHideEle = headerEle.querySelector('.header__mobile .header__scroll_hide'); if (mdScorllHideEle) { document.body.style.setProperty('--header-scroll-hide-height-md', `${mdScorllHideEle.clientHeight}px`); } const pcScorllHideEle = headerEle.querySelector('.header__desktop .header__scroll_hide'); if (pcScorllHideEle) { document.body.style.setProperty('--header-scroll-hide-height-pc', `${pcScorllHideEle.clientHeight}px`); } } function handlResize() { if(w == window.innerWidth){return}; w = window.innerWidth; setHeaderCssVar(); }; function init(){ setHeaderCssVar(); window.removeEventListener('resize', window._theme_header_listener) window._theme_header_listener = handlResize; window.addEventListener('resize', window._theme_header_listener); } init(); })();
g2max Review Video
Cart
Your shopping bag is empty
Continue shopping
${item.product_title}
${item.options.map(option => option.value).join('/')}
${propertie.name}/${propertie.isImage ? `
View image
` : propertie.value}
Free gift
Mixed Lot
*${item.quantity}
${item.item_text}
${discount_item.title}
(-
)
Total:
${function() { const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 && textArray.length < 2) { textArray.push(''); } return textArray.map((text, index) => { if (index == 0) { return `
${text}
`; } return `
${text}
`; }).join(''); }()}
${function() { const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 && textArray.length < 2) { textArray.push(''); } return textArray.map((text, index) => { if (index == 0) { return `
${text}
`; } return `
${text}
`; }).join(''); }()}
${discount_application.title}:
-
${data.invalid_msg}
Check out
Taxes and shipping calculated at checkout
${data.invalid_msg}
Total:
${function() { const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 && textArray.length < 2) { textArray.push(''); } return textArray.map((text, index) => { if (index == 0) { return `
${text}
`; } return `
${text}
`; }).join(''); }()}
${function() { const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 && textArray.length < 2) { textArray.push(''); } return textArray.map((text, index) => { if (index == 0) { return `
${text}
`; } return `
${text}
`; }).join(''); }()}
${function() { const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 && textArray.length < 2) { textArray.push(''); } return textArray.map((text, index) => { if (index == 0) { return `
${text}
`; } return `
${text}
`; }).join(''); }()}
${discount_application.title}:
-
Check out
${data.invalid_msg}
Check out
Taxes and shipping calculated at checkout
Subtotal:
${discount_application.title}:
-
Total:
Check out
Taxes and shipping calculated at checkout
const summaryStickyRender = document.querySelector('#cart-drawer-summary-sticky-render'); if (summaryStickyRender) { document.body.style.setProperty('--cart-drawer-summary-sticky-height', summaryStickyRender.clientHeight + 'px'); }
View Cart
${function(){ const productData = data.product; let product_change_event = '', mouse_over_event = ' '; mouse_out_event = ''; const product_options = productData.options.filter(Boolean) || []; for (let opt of product_options) { const nameEscape = opt.name.replace(/\/|\\|\s|\'|\"|`|\<|\>/g, '') product_change_event = product_change_event + `quick-shop-selected-variant-${opt.id}.rerender(data=event.selectedValues.${opt.name});`; mouse_out_event = mouse_out_event + `@${nameEscape}Mouseout="quick-shop-selected-variant-${opt.id}.rerender(data=event.selectData.${opt.name}, redo=true);"`; mouse_over_event = mouse_over_event + `@${nameEscape}Mouseover="quick-shop-selected-variant-${opt.id}.rerender(data=event, redo=true);"`; } const selectedVariant = productData.variants.find(v => v.available) || productData.variants[0]; const statusLan = ((selectedVariant && !selectedVariant.available) || (!selectedVariant && !productData.available)) ? "Sold out" : "Add to cart"; return `
${statusLan}
` }()}
${function(){ const currentSelectVariant = data.variant; const defaultVariant = (data.product && data.product.variants && data.product.variants[0]); const variantData = currentSelectVariant || defaultVariant || data; const retail_price = variantData.retail_price || 0; return `
Retail
` }()}
${function(){ const wholesale_enabled = false; const qty = data.quantity || 1; const currentSelectVariant = data.variant; const defaultVariant = (data.product && data.product.variants && data.product.variants[0]); const productVariant = null; const variantData = currentSelectVariant || defaultVariant || productVariant; const wholesale_price = variantData.wholesale_price || []; if(wholesale_enabled && wholesale_price.length > 0) { let wholesaleIndex = wholesale_price.findIndex(item => { return item.min_quantity > qty; }); if(wholesaleIndex < 0){ wholesaleIndex = wholesale_price.length - 1; }else if(wholesaleIndex > 0){ wholesaleIndex = wholesaleIndex - 1; } const wholesalePrice = wholesale_price[wholesaleIndex] || ''; return `
` }else { const price = variantData && variantData.price; return price != undefined ? `
` : '
'; } }()}
${function() { let variantImageShowed = false; const currentProduct = data.product; return (currentProduct.options || []).map((option, index) => { const optionName = option.name || ''; const optionId = option.id || ''; const position = `option${index + 1}`; let isThumbImage = false; if (currentProduct.need_variant_image && !variantImageShowed) { const variantNames = ["color"] || []; for (let i = 0, len = variantNames.length; i < len; i++) { const name = variantNames[i].toLowerCase(); if (name === optionName.toLowerCase()) { isThumbImage = true; variantImageShowed = true; } } } const variantType = "button"; const thumbStyle = "image_with_text"; return `
${optionName}:
${option.values.map((value, idx) => { const selected = data.selectedValues[optionName] == value ? 'checked' : ''; let thumbImage = null; if (isThumbImage) { const variants = currentProduct.variants; for (let i = 0, len = variants.length; i < len; i++) { const variant = variants[i]; if (variant[position] == value && thumbImage == null) { thumbImage = variant.image; break; } } } return `
${value}
` }).join('')}
${optionName}
${option.values.map(value => { const selected = data.selectedValues[optionName] == value ? 'selected' : ''; return `
${value}
` }).join('')}
` }).join(''); }()}
${data.originData && data.originData.value || data.value}