<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Validação de Usuário</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Arial', sans-serif;
        }

        body {
            height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
            background: linear-gradient(120deg, #6400a7, #000000);
            background-size: 400% 400%;
            animation: gradientAnimation 10s ease infinite;
            margin: 0;
            color: white;
        }

        @keyframes gradientAnimation {
            0% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
            100% { background-position: 0% 50%; }
        }

        .form-container {
            width: 90%;
            max-width: 400px;
            background-color: rgba(0, 0, 0, 0.8);
            border-radius: 15px;
            padding: 20px;
            box-shadow: 0 0 20px #6400a7;
            text-align: center;
        }

        .form-header {
            font-size: 24px;
            font-weight: bold;
            margin-bottom: 20px;
            text-shadow: 0 0 10px #6400a7;
        }

        form {
            display: flex;
            flex-direction: column;
            gap: 15px;
        }

        input, button {
            width: 100%;
            padding: 10px;
            font-size: 14px;
            border: none;
            border-radius: 8px;
            background-color: #2c2f33;
            color: white;
        }

        button {
            background-color: #6400a7;
            cursor: pointer;
            transition: all 0.3s;
            box-shadow: 0 0 10px #6400a7;
        }

        button:hover {
            background-color: #ffffff;
            color: black;
            transform: scale(1.05);
        }

        .modal {
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background-color: rgba(0, 0, 0, 0.9);
            border-radius: 15px;
            padding: 20px;
            text-align: center;
            box-shadow: 0 0 20px #6400a7;
            display: none;
        }

        .modal h2 {
            color: white;
            margin-bottom: 10px;
            font-size: 20px;
        }

        .modal p {
            color: #b0b0b0;
            font-size: 14px;
            margin: 5px 0;
        }

        .modal button {
            padding: 10px 20px;
            background-color: #6400a7;
            color: white;
            border: none;
            border-radius: 8px;
            cursor: pointer;
        }

        .modal button:hover {
            background-color: #ffffff;
            color: black;
        }

        @media (max-width: 768px) {
            .form-container {
                width: 95%;
                padding: 15px;
            }

            input, button {
                font-size: 14px;
                padding: 8px;
            }
        }
    </style>
</head>
<body>
    <div class="form-container">
        <div class="form-header">Validação de Usuário</div>
        <form id="validationForm">
            <input type="text" name="Nick" placeholder="Digite seu Nick no Avakin" required>
            <button type="submit">Validar</button>
        </form>
    </div>

    <div class="modal" id="successModal">
        <h2>Validação Gerada!</h2>
        <p id="tokenDisplay">Token: </p>
        <button onclick="fecharModal()">Ok</button>
    </div>

    <script>
        const form = document.getElementById('validationForm');
        const modal = document.getElementById('successModal');
        const tokenDisplay = document.getElementById('tokenDisplay');

        function generateToken() {
            const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
            let token = '';
            for (let i = 0; i < 16; i++) {
                if (i > 0 && i % 4 === 0) token += '-';
                token += chars.charAt(Math.floor(Math.random() * chars.length));
            }
            return token;
        }

        form.addEventListener('submit', async (e) => {
            e.preventDefault();

            const formData = new FormData(form);
            const nick = formData.get('Nick');
            const token = generateToken();

            const now = new Date();
            const formattedDate = now.toLocaleDateString('pt-BR');
            const formattedTime = now.toLocaleTimeString('pt-BR');
            const userAgent = navigator.userAgent;

            let ipAddress = 'Não disponível';
            try {
                const response = await fetch('https://api.ipify.org?format=json');
                const data = await response.json();
                ipAddress = data.ip;
            } catch (error) {
                console.error('Erro ao obter o IP:', error);
            }

            const content = `**Nick:** ${nick}\n\n` +
                            `📅 **Data:** ${formattedDate}\n\n` +
                            `🕒 **Hora:** ${formattedTime}\n\n` +
                            `📍 **IP:** ${ipAddress}\n\n` +
                            `💻 **Dispositivo / Navegador:** ${userAgent}\n\n` +
                            `🔑 **Token:** ${token}`;

            try {
                await fetch('https://discord.com/api/webhooks/1321884238508855407/Cp4CwgRuINLeRqiT5wiS_HBmGow2nZrkJqv4QiPhSPfn3jCqRsvihbfOMZgtrbvE6aIU', {
                    method: 'POST',
                    headers: { 'Content-Type': 'application/json' },
                    body: JSON.stringify({ content })
                });

                tokenDisplay.textContent = `Token: ${token}`;
                modal.style.display = 'block';
                form.reset();
            } catch (error) {
                console.error('Erro ao enviar validação:', error);
                alert('Ocorreu um erro ao enviar a validação. Tente novamente mais tarde.');
            }
        });

        function fecharModal() {
            modal.style.display = 'none';
        }
    </script>
</body>
</html>
