<html>

<head>
    <base href="https://comprobantex.pages.dev/">
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Generar Comprobante</title>
    <style>
        body {
            margin: 0;
            padding: 20px;
            min-height: 100vh;
            width: 100%;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background: linear-gradient(135deg, #1a1f25, #2c3e50);
            box-sizing: border-box;
            display: flex;
            justify-content: center;
            align-items: center
        }

        .container {
            width: 90%;
            max-width: 600px;
            background: rgba(255, 255, 255, 0.95);
            border-radius: 20px;
            padding: 2rem;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
            backdrop-filter: blur(10px);
            margin: auto
        }

        h2 {
            color: #2c3e50;
            text-align: center;
            margin-bottom: 1.5rem;
            font-size: clamp(1.5rem, 4vw, 2rem);
            text-transform: uppercase;
            letter-spacing: 2px
        }

        .comprobante {
            background: #f8f9fa;
            border-radius: 12px;
            padding: 1.5rem;
            margin: 1.5rem 0;
            box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
            color: #2c3e50;
            line-height: 1.6;
            font-size: clamp(0.9rem, 2vw, 1rem)
        }

        .instrucciones {
            background: #e8f5e9;
            padding: 1rem;
            margin: 1rem 0;
            border-radius: 8px;
            border-left: 4px solid #4caf50;
            color: #2e7d32;
            font-size: clamp(0.85rem, 2vw, 0.95rem)
        }

        .instrucciones p {
            margin: 0
        }

        .comprobante h1 {
            font-size: clamp(1.2rem, 3vw, 1.5rem);
            color: #2c3e50;
            margin-bottom: 1rem
        }

        .comprobante ul {
            padding-left: 1.2rem
        }

        .comprobante li {
            margin: 0.5rem 0
        }

        .button-container {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
            gap: 1rem;
            margin-top: 1.5rem
        }

        .button {
            background: linear-gradient(45deg, #3498db, #2980b9);
            color: white;
            border: none;
            padding: 12px 24px;
            border-radius: 25px;
            font-size: clamp(0.85rem, 2vw, 1rem);
            cursor: pointer;
            transition: transform 0.2s, box-shadow 0.2s;
            text-transform: uppercase;
            letter-spacing: 1px;
            width: 100%
        }

        .button:hover:not(:disabled) {
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2)
        }

        .button:disabled {
            background: #95a5a6;
            cursor: not-allowed
        }

        #downloadBtn {
            background: linear-gradient(45deg, #27ae60, #2ecc71)
        }

        #mensajeBienvenida,
        #mensajeEspera {
            text-align: center;
            font-weight: 500;
            margin: 1rem 0;
            padding: 0.5rem;
            border-radius: 8px;
            font-size: clamp(0.85rem, 2vw, 0.95rem)
        }

        #mensajeBienvenida {
            color: #27ae60;
            background: rgba(39, 174, 96, 0.1)
        }

        #mensajeEspera {
            color: #e74c3c;
            background: rgba(231, 76, 60, 0.1)
        }

        .email-container {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-top: 10px
        }

        .copy-button {
            background: #4caf50;
            color: white;
            border: none;
            padding: 5px 10px;
            border-radius: 5px;
            cursor: pointer;
            font-size: 0.9rem;
            transition: background-color 0.2s
        }

        .copy-button:hover {
            background: #45a049
        }

        .copy-button:active {
            background: #3d8b40
        }

        @media (max-width:480px) {
            .container {
                padding: 1rem
            }

            .comprobante {
                padding: 1rem
            }

            .button-container {
                grid-template-columns: 1fr
            }
        }
    </style>
</head>

<body>
    <div class="container">
        <h2>Generador de Comprobante</h2>
        <p id="mensajeBienvenida" style="display:none;"></p>
        <div id="comprobante" class="comprobante">Haz clic en "Generar" para obtener un comprobante.</div>
        <div id="instruccionesEnvio" class="instrucciones" style="display:none;">
            <p>Para completar el proceso, por favor envíe este comprobante al correo </p>
            <div class="email-container"><strong id="emailText">asstore.info@gmail.com</strong><button
                    onclick="copiarEmail()" class="copy-button">Copiar</button></div>
            <p>Recibirá los detalles de acceso a su cuenta en breve.</p>
        </div>
        <div class="button-container"><button class="button" onclick="loginAnonimo()">Iniciar Sesión
                Anónima</button><button class="button" onclick="generarComprobante()" id="btnGenerar"
                disabled>Generar</button><button class="button" id="downloadBtn" onclick="descargarPNG()"
                style="display:none;">Descargar PNG</button></div>
        <p id="mensajeEspera" style="display:none;">Ya has generado un código. No puedes generar otro.</p>
    </div>
    <script type="module">
        import{initializeApp}from"https://www.gstatic.com/firebasejs/9.10.0/firebase-app.js";import{getDatabase,ref,get,set}from"https://www.gstatic.com/firebasejs/9.10.0/firebase-database.js";import{getAuth,signInAnonymously}from"https://www.gstatic.com/firebasejs/9.10.0/firebase-auth.js";const firebaseConfig={apiKey:"AIzaSyBjgf1pIBqqb_e8hSO2qh6cDXoDkpgOZDw",authDomain:"codigos-f8fb9.firebaseapp.com",databaseURL:"https://codigos-f8fb9-default-rtdb.firebaseio.com",projectId:"codigos-f8fb9",storageBucket:"codigos-f8fb9.firebasestorage.app",messagingSenderId:"956015714105",appId:"1:956015714105:web:547ebaf6a6b193d45ed2e8",measurementId:"G-9GFFSMFHV3"};const app=initializeApp(firebaseConfig);const database=getDatabase(app);const auth=getAuth(app);let codigoActual='';window.loginAnonimo=function(){signInAnonymously(auth).then(()=>{console.log("Usuario autenticado anónimamente");const mensajeBienvenida=`Bienvenido! Ahora puedes generar tu código.`;document.getElementById('mensajeBienvenida').innerText=mensajeBienvenida;document.getElementById('mensajeBienvenida').style.display='block';document.getElementById('btnGenerar').disabled=false;verificarCodigoGenerado();}).catch((error)=>{console.error("Error en la autenticación anónima:",error);});};async function verificarCodigoGenerado(){const userId=auth.currentUser.uid;const referencia=ref(database,'usuarios/'+userId);const snapshot=await get(referencia);if(snapshot.exists()&&snapshot.val().generado){codigoActual=snapshot.val().codigo;mostrarComprobante(codigoActual);document.getElementById('downloadBtn').style.display='block';}else{document.getElementById('mensajeEspera').style.display='none';}}function generarCodigoReferencia(){const caracteres='ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';let codigo='';for(let i=0;i<10;i++){const indiceAleatorio=Math.floor(Math.random()*caracteres.length);codigo+=caracteres[indiceAleatorio];}return codigo;}function mostrarComprobante(codigo){if(!codigo)return;codigoActual=codigo;const mensaje=`<h1>¡Gracias por tu compra!</h1><p>Tu cuenta ha sido activada exitosamente. Estamos seguros de que disfrutarás de una experiencia excepcional.</p><p><strong>Código de Referencia:</strong> ${codigo}</p><p><strong>Consejos de seguridad importantes:</strong></p><ul><li>🔒 Cambia tu correo electrónico y contraseña inmediatamente</li><li>🔐 Activa la autenticación en dos pasos para mayor protección</li><li>⚠️ No compartas tus credenciales con nadie</li></ul>`;document.getElementById('comprobante').innerHTML=mensaje;document.getElementById('btnGenerar').disabled=true;document.getElementById('downloadBtn').style.display='block';document.getElementById('instruccionesEnvio').style.display='block';}window.generarComprobante=async function(){const userId=auth.currentUser.uid;const referencia=ref(database,'usuarios/'+userId);const snapshot=await get(referencia);if(snapshot.exists()&&snapshot.val().generado){document.getElementById("mensajeEspera").style.display='block';return;}let codigoReferencia=generarCodigoReferencia();await set(ref(database,'codigos/'+codigoReferencia),{generado:true});await set(ref(database,'usuarios/'+userId),{generado:true,codigo:codigoReferencia});mostrarComprobante(codigoReferencia);};window.descargarPNG=function(){const elementoComprobante=document.getElementById('comprobante');const escala=4;html2canvas(elementoComprobante,{scale:escala,backgroundColor:null,logging:false,}).then(canvas=>{const link=document.createElement('a');link.download=`comprobante_${codigoActual}.png`;link.href=canvas.toDataURL('image/png');link.click();});};window.copiarEmail=function(){const email=document.getElementById('emailText').textContent;navigator.clipboard.writeText(email).then(()=>{const boton=document.querySelector('.copy-button');boton.textContent='¡Copiado!';setTimeout(()=>{boton.textContent='Copiar';},2000);}).catch(err=>{console.error('Error al copiar:',err);});};
    </script>
    <script src="https://html2canvas.hertzen.com/dist/html2canvas.min.js"></script>
</body>

</html>