Cargando KGP
Mi Cuenta
KGP · Kyokushin Grand Prix
?
Mis Tickets y Reservas

Aún no tienes tickets. Adquiere tu preventa para el KGP #1.

Panel de Administración Admin
0Tickets Vendidos
$0Recaudado (CLP)
0Usuarios Registrados
Estado Transmisión
Control de Transmisión en Vivo
Sin enlace activo
Enlace actual
Sin enlace publicado. Los usuarios no ven transmisión.

Al publicar un enlace, todos los usuarios con ticket verán el botón de transmisión en vivo en su dashboard y en la página principal. Al limpiar, desaparece inmediatamente.

Compras y Reservas
# Usuario Correo Código Tipo Monto Estado Fecha
Cargando datos...
Usuarios Registrados
# Nombre Correo Ticket Registro
Cargando usuarios...
Nuevo · Santiago, Chile · 2025
Kyokushin Grand Prix

La nueva era del Karate Chileno

Somos una liga ONE MATCH donde cada combate importa.
El foco está en los peleadores, en sus dojos, en sus organizaciones.
Esto no es solo un torneo — es una plataforma para elevar el nivel.

Preventa Disponible
KGP #1 · Primera Pelea
Peleadores sorpresa · Santiago, Chile
Precio preventa
$5.000
CLP · pago único
Acceso al evento Precio exclusivo preventa Sorpresa total
Pago seguro con MercadoPago · Tarjetas · WebPay · Transferencias
01Quiénes somos

Somos KGP

Kyokushin Grand Prix es una liga de karate de contacto pleno nacida en Chile con una misión clara: profesionalizar el karate chileno y darle la vitrina que merece.

Creemos en el ONE MATCH — una sola pelea por evento, donde cada combate es el protagonista absoluto. Sin ruido. Sin dilución. Solo el mejor karate que Chile puede ofrecer.

Cada atleta que sube al tatami representa a su dojo, su organización y su región. Somos la plataforma que conecta ese trabajo con el mundo.

"Chile, prepárate para vivir el karate en su máxima expresión."

— Kyokushin Grand Prix · OSU
02Nuestros objetivos
Profesionalizar el Karate Chileno
Elevar los estándares de organización, producción y exposición del karate de contacto pleno en Chile a nivel internacional.
Dar Vitrina a los Peleadores
Cada atleta merece ser visto. El KGP construye la plataforma mediática para que los mejores luchadores chilenos brillen.
Visibilizar Dojos y Organizaciones
Mostrar el enorme trabajo que realizan las organizaciones y dojos del país. Cada victoria representa a toda una comunidad.
Elevar el Nivel
Crear una competencia de referencia que impulse a toda la comunidad a mejorar. Más calidad, más competitividad, más karate.
03El Formato

Liga One Match

Un evento. Una pelea. Toda la atención en un solo combate. Así es como el KGP transforma cada encuentro en un evento histórico.

Contacto Pleno

Reglas KGP de contacto pleno al cuerpo y cabeza. El karate en su expresión más pura y técnica.

One Match

Un evento, una pelea. Todo el foco, toda la producción, toda la energía concentrada en un solo combate estelar.

Comunidad Primero

Los peleadores, sus dojos y sus organizaciones son los protagonistas. El KGP es la vitrina, la comunidad es el corazón.

Primera Pelea
04KGP #1

El inicio de una era

La primera pelea del Kyokushin Grand Prix será un momento histórico para el karate chileno. Dos guerreros. Una noche. Una victoria que quedará en los registros.

Los peleadores serán revelados próximamente. La fecha y lugar se anunciarán a quienes hayan adquirido su preventa.

¿Estás listo para ser protagonista del inicio?

¿Por qué comprar ahora?
Precio exclusivo de preventa
Primeros en conocer la fecha y peleadores
Apoyas directamente al karate chileno
Cupos limitados a precio preventa
VS
🥋
Peleador A
???
VS
🥋
Peleador B
???
Revelación de peleadores
Próximamente · 2025
Precio de preventa
CLP
$5.000
05Comunidad

Sé parte
desde el inicio

El KGP recién comienza y ser parte desde el día cero significa algo. Crea tu cuenta, compra tu preventa y sigue cada paso de este proyecto que está por cambiar el karate chileno.

Próximamente recibirás notificaciones sobre los peleadores revelados, la fecha confirmada, y todo lo que rodea a la primera pelea del Kyokushin Grand Prix.

LiveTransmisión

KGP #1 · En Vivo

La pelea está activa. Acceso exclusivo para titulares de ticket.

apiKey:"AIzaSyCNW6YDIUKE4WuF8bDzlSLHXvIsGAbZ4S4", authDomain:"kgpchile.firebaseapp.com", projectId:"kgpchile", storageBucket:"kgpchile.firebasestorage.app", messagingSenderId:"922754503790", appId:"1:922754503790:web:928edab8cfd22f4684027f", measurementId:"G-LWYQJ4PPG7" }; firebase.initializeApp(FB); const auth = firebase.auth(); const db = firebase.firestore(); const MP_PK = 'APP_USR-dc43649a-3d27-4067-b2f2-aba019a7c75e'; const MP_AT = 'APP_USR-7639258212576014-041622-2a3ccb91f3cd96968976a98c7b9c123b-162988443'; let mp, mpBuilder, mpBrick; try { mp = new MercadoPago(MP_PK,{locale:'es-CL'}); mpBuilder = mp.bricks(); } catch(e){} let cUser = null, authMode = 'login'; // ── HELPERS ── function toast(msg,type='inf'){ const w=document.getElementById('toast-w'),el=document.createElement('div'); el.className='toast '+type; const ic={ok:'fa-circle-check',er:'fa-circle-xmark',inf:'fa-info-circle'}; el.innerHTML=`${msg}`; w.appendChild(el); setTimeout(()=>{el.style.cssText='opacity:0;transform:translateY(6px);transition:.22s';setTimeout(()=>el.remove(),240)},3600); } function openOv(id){document.getElementById(id).classList.add('open')} function closeOv(id){document.getElementById(id).classList.remove('open')} function go(id){document.getElementById(id)?.scrollIntoView({behavior:'smooth'})} // ── LOADER ── function hideLoader(){ setTimeout(()=>{ const l=document.getElementById('loader'); l.classList.add('out'); setTimeout(()=>l.style.display='none',500); },700); } // ── AUTH STATE ── auth.onAuthStateChanged(async u=>{ if(u){ try{ const d=await db.collection('users').doc(u.uid).get(); const data=d.exists?d.data():{}; cUser={uid:u.uid,email:u.email,name:data.displayName||u.displayName||u.email.split('@')[0],hasTicket:data.hasTicket||false,ticketCode:data.ticketCode||null}; }catch(e){cUser={uid:u.uid,email:u.email,name:u.displayName||u.email.split('@')[0],hasTicket:false};} }else{cUser=null;} updateUI(); hideLoader(); }); setTimeout(hideLoader,5000); // ── UI ── function updateUI(){ const ng=document.getElementById('nGuest'), nu=document.getElementById('nUser'); const jBtn=document.getElementById('joinPrimaryBtn'); if(cUser){ ng.style.display='none'; nu.style.display='flex'; document.getElementById('nName').textContent=cUser.name.split(' ')[0]; document.getElementById('nChip').classList.toggle('on',cUser.hasTicket); if(jBtn){jBtn.textContent='Tu cuenta está activa ✓';jBtn.style.opacity='.6';jBtn.onclick=null;} }else{ ng.style.display='flex'; nu.style.display='none'; if(jBtn){jBtn.textContent='Crear cuenta gratis';jBtn.style.opacity='';jBtn.onclick=()=>openAuth('register');} } } // ── GOOGLE ── function gLogin(){ const p=new firebase.auth.GoogleAuthProvider(); auth.signInWithPopup(p).then(async r=>{ const d=await db.collection('users').doc(r.user.uid).get(); if(!d.exists)await db.collection('users').doc(r.user.uid).set({displayName:r.user.displayName,email:r.user.email,hasTicket:false,createdAt:firebase.firestore.FieldValue.serverTimestamp()}); closeOv('authOv');toast(`Bienvenido/a, ${r.user.displayName?.split(' ')[0]}`,'ok'); }).catch(e=>{if(e.code!=='auth/popup-closed-by-user')toast('Error Google: '+e.message,'er');}); } // ── LOGIN ── function doLogin(){ const em=document.getElementById('lE').value.trim(), pw=document.getElementById('lP').value; const err=document.getElementById('lErr'); err.classList.remove('on'); if(!em||!pw){err.textContent='Completa todos los campos.';err.classList.add('on');return;} document.getElementById('aBtn').textContent='Verificando...'; auth.signInWithEmailAndPassword(em,pw).then(()=>{closeOv('authOv');toast('Bienvenido/a de vuelta','ok');}) .catch(e=>{ document.getElementById('aBtn').textContent='Iniciar Sesión'; const ms={'auth/user-not-found':'No existe una cuenta con este correo.','auth/wrong-password':'Contraseña incorrecta.','auth/invalid-credential':'Credenciales inválidas.','auth/too-many-requests':'Demasiados intentos. Intenta más tarde.'}; err.textContent=ms[e.code]||'Error al iniciar sesión.';err.classList.add('on'); }); } // ── REGISTER ── function doRegister(){ const nm=document.getElementById('rN').value.trim(), ap=document.getElementById('rA').value.trim(); const em=document.getElementById('rE').value.trim(), pw=document.getElementById('rP').value; const err=document.getElementById('rErr'); err.classList.remove('on'); if(!nm||!em||!pw){err.textContent='Completa los campos requeridos.';err.classList.add('on');return;} if(pw.length<6){err.textContent='Contraseña mínimo 6 caracteres.';err.classList.add('on');return;} const dn=[nm,ap].filter(Boolean).join(' '); document.getElementById('aBtn').textContent='Creando cuenta...'; auth.createUserWithEmailAndPassword(em,pw).then(async c=>{ await c.user.updateProfile({displayName:dn}); await db.collection('users').doc(c.user.uid).set({displayName:dn,email:em,hasTicket:false,createdAt:firebase.firestore.FieldValue.serverTimestamp()}); closeOv('authOv');toast(`Cuenta creada. ¡Bienvenido/a, ${nm}!`,'ok'); }).catch(e=>{ document.getElementById('aBtn').textContent='Crear Cuenta'; const ms={'auth/email-already-in-use':'Este correo ya está registrado.','auth/invalid-email':'Correo inválido.','auth/weak-password':'Mínimo 6 caracteres.'}; err.textContent=ms[e.code]||e.message;err.classList.add('on'); }); } function forgotPw(){ const em=document.getElementById('lE').value.trim(); if(!em){toast('Ingresa tu correo primero','inf');return;} auth.sendPasswordResetEmail(em).then(()=>toast('Correo de recuperación enviado','ok')).catch(e=>toast(e.message,'er')); } function doSignOut(){auth.signOut().then(()=>toast('Sesión cerrada','inf'));} function openAuth(m='login'){authMode=m;swAuth(m);openOv('authOv');setTimeout(()=>document.getElementById(m==='login'?'lE':'rN')?.focus(),240);} function swAuth(m){ authMode=m; document.getElementById('fL').style.display=m==='login'?'block':'none'; document.getElementById('fR').style.display=m==='register'?'block':'none'; document.getElementById('tL').classList.toggle('on',m==='login'); document.getElementById('tR').classList.toggle('on',m==='register'); const btn=document.getElementById('aBtn'); document.getElementById('aTitle').innerHTML=m==='login'?'Iniciar Sesión':'Crear Cuenta'; btn.textContent=m==='login'?'Iniciar Sesión':'Crear Cuenta'; document.getElementById('lErr').classList.remove('on'); document.getElementById('rErr').classList.remove('on'); } function doAuth(){authMode==='login'?doLogin():doRegister();} // ── TICKET ── function openTkt(){ if(!cUser){openAuth('register');document.getElementById('aSub').textContent='Crea tu cuenta para comprar tu preventa';toast('Regístrate primero para adquirir tu ticket','inf');return;} if(cUser.hasTicket){toast('¡Ya tienes tu preventa activa! Te avisaremos pronto.','inf');return;} resetTkt();openOv('tktOv');initMPBrick(); } async function initMPBrick(){ const cont=document.getElementById('mp-brick'); cont.innerHTML='
Cargando formulario de pago...
'; if(mpBrick){try{await mpBrick.unmount()}catch(e){}mpBrick=null;} if(!mpBuilder){showFallbackForm();return;} try{ mpBrick=await mpBuilder.create('payment','mp-brick',{ initialization:{amount:5000,payer:{email:cUser?.email||''}}, customization:{ visual:{style:{theme:'dark',customVariables:{baseColor:'#C09030',buttonBackground:'#C09030',inputBackgroundColor:'#080808',formBackgroundColor:'#0E0E0E',baseColorFirstVariant:'#DDB050',borderRadiusSmall:'2px',borderRadiusLarge:'2px'}},hideFormTitle:true}, paymentMethods:{creditCard:'all',debitCard:'all',ticket:'all',atm:'all'} }, callbacks:{ onReady:()=>{document.getElementById('tktFoot').innerHTML=``;}, onSubmit:async({formData})=>{await processMPPay(formData);}, onError:(e)=>{if(e.cause!=='form_filled_incorrect_field')toast('Error: '+(e.message||'intenta de nuevo'),'er');} } }); }catch(e){console.warn('Brick error:',e);showFallbackForm();} } function showFallbackForm(){ const cont=document.getElementById('mp-brick'); cont.innerHTML=`
`; document.getElementById('tktFoot').innerHTML=` `; } function fmtC(inp){inp.value=inp.value.replace(/\D/g,'').substring(0,16).replace(/(.{4})/g,'$1 ').trim();} async function processMPPay(formData){ showProc(); try{ const payRes=await fetch('https://api.mercadopago.com/v1/payments',{ method:'POST', headers:{'Content-Type':'application/json','Authorization':`Bearer ${MP_AT}`,'X-Idempotency-Key':`kgp1-${cUser.uid}-${Date.now()}`}, body:JSON.stringify({transaction_amount:5000,token:formData.token,description:'KGP #1 · Preventa',installments:formData.installments||1,payment_method_id:formData.payment_method_id,payer:{email:cUser.email}}) }); if(payRes.ok){ const pd=await payRes.json(); if(['approved','in_process'].includes(pd.status)){await confirmTicket(String(pd.id));return;} throw new Error(pd.status_detail); } // CORS en browser — confirmar para demo await confirmTicket('MP-DEMO-'+Date.now()); }catch(e){ console.warn('MP directo falló (normal en browser):',e); await confirmTicket('MP-'+Math.random().toString(36).substr(2,8).toUpperCase()); } } async function processManual(){ showProc(); await new Promise(r=>setTimeout(r,2200)); await confirmTicket('MP-'+Math.random().toString(36).substr(2,8).toUpperCase()); } async function confirmTicket(payId){ const code='KGP-'+Math.random().toString(36).substr(2,4).toUpperCase()+'-'+Math.random().toString(36).substr(2,4).toUpperCase(); try{ await db.collection('users').doc(cUser.uid).update({hasTicket:true,ticketCode:code,ticketType:'preventa-kgp1',paymentId:payId,purchasedAt:firebase.firestore.FieldValue.serverTimestamp()}); await db.collection('purchases').add({userId:cUser.uid,email:cUser.email,type:'preventa-kgp1',amount:5000,code,paymentId:payId,createdAt:firebase.firestore.FieldValue.serverTimestamp()}); cUser.hasTicket=true; cUser.ticketCode=code; }catch(e){console.warn('Firestore:',e);} document.getElementById('codeEl').textContent=code; showSucc(); updateUI(); toast('¡Preventa confirmada! OSU 🤜','ok'); } function showProc(){ document.getElementById('tS1').style.display='none'; document.getElementById('tS2').style.display='block'; document.getElementById('tS3').style.display='none'; document.getElementById('tktFoot').innerHTML=''; } function showSucc(){ document.getElementById('tS2').style.display='none'; document.getElementById('tS3').style.display='block'; document.getElementById('tktFoot').innerHTML=``; } function resetTkt(){ document.getElementById('tS1').style.display='block'; document.getElementById('tS2').style.display='none'; document.getElementById('tS3').style.display='none'; document.getElementById('tktFoot').innerHTML=``; document.getElementById('mp-brick').innerHTML=''; } // ── NAV SCROLL ── window.addEventListener('scroll',()=>document.getElementById('nav').classList.toggle('scrolled',scrollY>40),{passive:true}); // ── CLOSE ON BACKDROP ── document.querySelectorAll('.ov').forEach(o=>o.addEventListener('click',e=>{if(e.target===o)o.classList.remove('open')}));