<?php
/**
 * Teste do login de motoristas
 * Verificar se está retornando os dados corretos
 */

header('Content-Type: text/html; charset=utf-8');

// Conectar ao banco
$host = 'localhost';
$dbname = 'pinheir3_controle_frotasV1.1';
$username = 'pinheir3_admin';
$password = '080880Gelboy';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username, $password, [
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    ]);
    
    echo "<h2>🔐 Teste de Login de Motoristas</h2>";
    
    // 1. Mostrar todos os motoristas
    echo "<h3>👥 Motoristas Cadastrados:</h3>";
    $stmt = $pdo->query("SELECT * FROM motoristas ORDER BY id");
    $motoristas = $stmt->fetchAll();
    
    if (empty($motoristas)) {
        echo "<p style='color: red;'>❌ Nenhum motorista encontrado!</p>";
        
        // Criar motoristas de teste
        echo "<h4>🚀 Criando motoristas de teste...</h4>";
        $motoristasTeste = [
            ['João Silva', 'joao', '123456', 'MOT001', '(79) 99999-1111'],
            ['Maria Santos', 'maria', '123456', 'MOT002', '(79) 99999-2222'],
            ['Pedro Silva', 'pedro', '123456', 'MOT003', '(79) 99999-3333'],
            ['Admin Sistema', 'admin', '1234', 'ADM001', '(79) 99999-0000']
        ];
        
        foreach ($motoristasTeste as $motorista) {
            $stmt = $pdo->prepare("
                INSERT INTO motoristas (nome, usuario, senha, matricula, telefone, status) 
                VALUES (?, ?, ?, ?, ?, 'ativo')
            ");
            $stmt->execute($motorista);
            echo "<p>✅ Criado: {$motorista[0]} (usuário: {$motorista[1]})</p>";
        }
        
        // Recarregar lista
        $stmt = $pdo->query("SELECT * FROM motoristas ORDER BY id");
        $motoristas = $stmt->fetchAll();
    }
    
    echo "<table style='border-collapse: collapse; width: 100%; margin: 10px 0;'>";
    echo "<tr style='background: #f8f9fa;'>";
    echo "<th style='border: 1px solid #ddd; padding: 8px;'>ID</th>";
    echo "<th style='border: 1px solid #ddd; padding: 8px;'>Nome</th>";
    echo "<th style='border: 1px solid #ddd; padding: 8px;'>Usuário</th>";
    echo "<th style='border: 1px solid #ddd; padding: 8px;'>Senha</th>";
    echo "<th style='border: 1px solid #ddd; padding: 8px;'>Matrícula</th>";
    echo "<th style='border: 1px solid #ddd; padding: 8px;'>Status</th>";
    echo "<th style='border: 1px solid #ddd; padding: 8px;'>Teste Login</th>";
    echo "</tr>";
    
    foreach ($motoristas as $m) {
        echo "<tr>";
        echo "<td style='border: 1px solid #ddd; padding: 8px;'><strong>{$m['id']}</strong></td>";
        echo "<td style='border: 1px solid #ddd; padding: 8px;'>{$m['nome']}</td>";
        echo "<td style='border: 1px solid #ddd; padding: 8px;'><code>{$m['usuario']}</code></td>";
        echo "<td style='border: 1px solid #ddd; padding: 8px;'><code>{$m['senha']}</code></td>";
        echo "<td style='border: 1px solid #ddd; padding: 8px;'>{$m['matricula']}</td>";
        echo "<td style='border: 1px solid #ddd; padding: 8px;'>";
        echo "<span style='color: " . ($m['status'] == 'ativo' ? 'green' : 'red') . ";'>{$m['status']}</span>";
        echo "</td>";
        echo "<td style='border: 1px solid #ddd; padding: 8px;'>";
        echo "<button onclick='testarLogin(\"{$m['usuario']}\", \"{$m['senha']}\")' style='background: #007bff; color: white; border: none; padding: 5px 10px; border-radius: 3px; cursor: pointer;'>🧪 Testar</button>";
        echo "</td>";
        echo "</tr>";
    }
    echo "</table>";
    
    // 2. Área de resultado de teste
    echo "<h3>📊 Resultado do Teste:</h3>";
    echo "<div id='resultado-teste' style='background: #f8f9fa; border: 1px solid #ddd; padding: 15px; border-radius: 5px; min-height: 100px;'>";
    echo "<p style='color: #666;'>Clique em um botão 'Testar' acima para testar o login...</p>";
    echo "</div>";
    
    // 3. Teste direto da API
    echo "<h3>🔧 Teste Manual da API:</h3>";
    echo "<div style='background: #e9ecef; padding: 15px; border-radius: 5px;'>";
    echo "<p><strong>Teste direto:</strong></p>";
    echo "<div style='margin: 10px 0;'>";
    echo "<label>Usuário: <input type='text' id='usuario-manual' value='joao' style='margin-left: 10px; padding: 5px;'></label>";
    echo "<label style='margin-left: 15px;'>Senha: <input type='password' id='senha-manual' value='123456' style='margin-left: 10px; padding: 5px;'></label>";
    echo "<button onclick='testarLoginManual()' style='background: #28a745; color: white; border: none; padding: 5px 15px; border-radius: 3px; cursor: pointer; margin-left: 15px;'>🚀 Testar Login</button>";
    echo "</div>";
    echo "</div>";
    
} catch (Exception $e) {
    echo "<div style='background: #f8d7da; border: 1px solid #f5c6cb; color: #721c24; padding: 15px; border-radius: 5px;'>";
    echo "❌ <strong>Erro:</strong> " . $e->getMessage();
    echo "</div>";
}
?>

<script>
async function testarLogin(usuario, senha) {
    const resultadoDiv = document.getElementById('resultado-teste');
    resultadoDiv.innerHTML = '<p>🔄 Testando login...</p>';
    
    try {
        const dados = {
            usuario: usuario,
            senha: senha
        };
        
        console.log('Testando login:', dados);
        
        const response = await fetch('https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/api/auth/login.php', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json'
            },
            body: JSON.stringify(dados)
        });
        
        const result = await response.json();
        console.log('Resposta do login:', result);
        
        let html = `<h4>Resultado para usuário: <code>${usuario}</code></h4>`;
        
        if (result.sucesso) {
            html += `<div style='background: #d4edda; border: 1px solid #c3e6cb; color: #155724; padding: 10px; border-radius: 5px;'>`;
            html += `<p><strong>✅ Login bem-sucedido!</strong></p>`;
            html += `<p><strong>ID do Motorista:</strong> <code>${result.dados.id}</code></p>`;
            html += `<p><strong>Nome:</strong> ${result.dados.nome}</p>`;
            html += `<p><strong>Matrícula:</strong> ${result.dados.matricula}</p>`;
            html += `<p><strong>Status:</strong> ${result.dados.status}</p>`;
            html += `<p><strong>Token:</strong> <code style='word-break: break-all;'>${result.dados.token}</code></p>`;
            html += `</div>`;
            
            html += `<h5>💡 Para usar no Android:</h5>`;
            html += `<div style='background: #d1ecf1; border: 1px solid #bee5eb; padding: 10px; border-radius: 5px; margin-top: 10px;'>`;
            html += `<p><strong>tecnicoId deve ser:</strong> <code>"${result.dados.id}"</code></p>`;
            html += `<p><strong>motoristaLogado.id deve ser:</strong> <code>${result.dados.id}</code></p>`;
            html += `</div>`;
        } else {
            html += `<div style='background: #f8d7da; border: 1px solid #f5c6cb; color: #721c24; padding: 10px; border-radius: 5px;'>`;
            html += `<p><strong>❌ Falha no login!</strong></p>`;
            html += `<p><strong>Mensagem:</strong> ${result.mensagem}</p>`;
            html += `</div>`;
        }
        
        resultadoDiv.innerHTML = html;
        
    } catch (error) {
        console.error('Erro:', error);
        resultadoDiv.innerHTML = `<div style='background: #f8d7da; border: 1px solid #f5c6cb; color: #721c24; padding: 10px; border-radius: 5px;'>
            <p><strong>💥 Erro na requisição:</strong> ${error.message}</p>
        </div>`;
    }
}

function testarLoginManual() {
    const usuario = document.getElementById('usuario-manual').value;
    const senha = document.getElementById('senha-manual').value;
    
    if (!usuario || !senha) {
        alert('Preencha usuário e senha!');
        return;
    }
    
    testarLogin(usuario, senha);
}
</script>

<style>
body {
    font-family: Arial, sans-serif;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    background: #f5f5f5;
}

h2, h3 {
    color: #333;
}

table {
    background: white;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

button:hover {
    opacity: 0.8;
}

code {
    font-family: 'Courier New', monospace;
    font-size: 0.9em;
    background: #f1f1f1;
    padding: 2px 4px;
    border-radius: 3px;
}
</style> 
