<?php
session_start(); // Inicia la sesión para guardar el token

// Genera un token único para esta sesión y lo guarda
$_SESSION['canva_access_token'] = bin2hex(random_bytes(16));
$_SESSION['canva_token_timestamp'] = time(); // Guarda el momento en que se creó

// TU ENLACE COMPLETO DEL VIDEO DE TIKTOK (LA URL LARGA)
$tiktok_full_video_url = "https://www.tiktok.com/@rafooo90/video/7604307839032560914"; 
// REEMPLAZA CON TU URL COMPLETA DEL VIDEO DE TIKTOK

// EL CÓDIGO SECRETO QUE ESTÁ OCULTO EN TU VIDEO DE TIKTOK
$secret_code_in_video = "ESPACIOAPP2025"; 
$_SESSION['tiktok_secret_code'] = $secret_code_in_video; // Guarda en sesión para verificar después

?>
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Acceso a Canva | EspacioApp</title>
    <link rel="stylesheet" href="css/style.css"> <!-- Si tienes un CSS general -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    <style>
        body { font-family: sans-serif; text-align: center; background-color: #f0f2f5; margin-top: 20px; color: #333; }
        .container { background: white; padding: 30px; border-radius: 15px; box-shadow: 0 8px 20px rgba(0,0,0,0.1); display: inline-block; max-width: 500px; width: 90%; }
        h2 { color: var(--primary); font-size: 1.8em; margin-bottom: 10px; }
        p { color: #666; font-size: 1.0em; line-height: 1.5; }
        
        .tiktok-call-to-action {
            margin: 25px auto; padding: 20px; border-radius: 10px;
            background-color: #f7f7f7; border: 1px dashed #ddd;
        }

        .btn-tiktok-redirect {
            background: #000; color: white; padding: 15px 30px; border: none; border-radius: 30px;
            font-size: 1.1em; cursor: pointer; transition: 0.3s; display: flex; align-items: center; justify-content: center; gap: 10px;
            margin: 15px auto; max-width: 300px; text-decoration: none;
        }
        .btn-tiktok-redirect i { font-size: 1.2em; }
        .btn-tiktok-redirect:hover { background: #333; }
        .btn-tiktok-redirect:disabled { opacity: 0.6; cursor: not-allowed; }

        .secret-code-input { margin-top: 25px; }
        .secret-code-input input {
            width: 80%; padding: 12px; border: 2px solid #ddd; border-radius: 8px;
            text-align: center; font-size: 1.2em; text-transform: uppercase;
        }
        .secret-code-input p.error { color: red; font-size: 0.8em; margin-top: 5px; display: none; }


        .btn-canva { background: var(--primary); color: white; padding: 15px 30px; border: none; border-radius: 30px; font-size: 1.2em; cursor: pointer; text-decoration: none; margin-top: 20px; }
        .btn-canva:hover { background: #e00073; }
        .btn-canva:disabled { background: #cccccc; cursor: not-allowed; }

        .checkbox-container { margin-top: 20px; display: flex; align-items: center; justify-content: center; gap: 10px; }
        .checkbox-container input[type="checkbox"] { width: 20px; height: 20px; accent-color: var(--primary); cursor: pointer; }
        .checkbox-container label { font-size: 0.9em; color: #555; }

        .timer-text { font-size: 0.8em; color: var(--primary); font-weight: bold; margin-top: 10px; }

        @media (max-width: 600px) {
            .action-buttons { flex-direction: column; align-items: center; }
        }
    </style>
</head>
<body>
    <div class="container">
        <h2>&#127808; Acceso Exclusivo a nuestro Grupo de Canva</h2>
        <p>¡Para mantener la exclusividad de nuestra comunidad, te pedimos un pequeño apoyo!</p>
        <p>Por favor, ve a nuestro TikTok, mira el video completo y **encuentra el Código Secreto**.</p>
        
        <div class="tiktok-call-to-action">
            <p style="margin-bottom: 15px;">Haz clic aquí para ir a nuestro TikTok:</p>
            <a href="<?php echo htmlspecialchars($tiktok_full_video_url); ?>" target="_blank" class="btn-tiktok-redirect" id="tiktokRedirectBtn">
                <i class="fab fa-tiktok"></i> Ver Video en TikTok
            </a>
            <p id="timer" class="timer-text" style="display:none;">Por favor, espera <span id="countdown">15</span> segundos después de visitar TikTok para el código...</p>
        </div>

        <div class="secret-code-input">
            <p>Introduce el Código Secreto del video:</p>
            <input type="text" id="secretCodeInput" placeholder="CÓDIGO SECRETO" oninput="checkCode()">
            <p class="error" id="codeError">Código incorrecto. Inténtalo de nuevo.</p>
        </div>
        
        <form action="canva_redirect_process.php" method="POST">
            <input type="hidden" name="canva_token" value="<?php echo $_SESSION['canva_access_token']; ?>">
            <button type="submit" id="accessCanvaBtn" class="btn-canva" disabled>&#127808; Acceder al Grupo Exclusivo</button>
        </form>

        <p style="margin-top: 20px; font-size: 0.8em; color: #888;">Si tienes problemas, recarga la página o contacta a soporte.</p>
    </div>

    <script>
        const tiktokRedirectBtn = document.getElementById('tiktokRedirectBtn');
        const secretCodeInput = document.getElementById('secretCodeInput');
        const accessCanvaBtn = document.getElementById('accessCanvaBtn');
        const timerText = document.getElementById('timer');
        const countdownSpan = document.getElementById('countdown');
        const codeError = document.getElementById('codeError');

        let tiktokVisited = false;
        let countdownValue = 15; // Segundos que deben esperar después de hacer clic en TikTok

        tiktokRedirectBtn.addEventListener('click', () => {
            if (!tiktokVisited) {
                tiktokVisited = true;
                tiktokRedirectBtn.disabled = true; 
                timerText.style.display = 'block';
                const interval = setInterval(() => {
                    countdownValue--;
                    countdownSpan.innerText = countdownValue;
                    if (countdownValue <= 0) {
                        clearInterval(interval);
                        timerText.style.display = 'none';
                        secretCodeInput.disabled = false; // Activa el campo para introducir el código
                    }
                }, 1000);
            }
        });

        function checkCode() {
            codeError.style.display = 'none';
            if (countdownValue <= 0 && tiktokVisited) {
                // Aquí deberíamos enviar el código al servidor para verificar,
                // pero por simplicidad de un único archivo, lo verificamos en JS.
                // Idealmente, esto sería una llamada AJAX a un PHP para verificar el código.
                const enteredCode = secretCodeInput.value.toUpperCase();
                const expectedCode = "<?php echo $secret_code_in_video; ?>".toUpperCase(); // El código desde PHP
                
                if (enteredCode === expectedCode) {
                    accessCanvaBtn.disabled = false;
                    secretCodeInput.style.borderColor = 'green';
                } else {
                    accessCanvaBtn.disabled = true;
                    secretCodeInput.style.borderColor = 'red';
                    if (enteredCode.length === expectedCode.length) {
                        codeError.style.display = 'block';
                    }
                }
            }
        }

        // Deshabilita el input del código al inicio
        secretCodeInput.disabled = true;
    </script>
</body>
</html>
