<?php
session_start();
date_default_timezone_set('America/Sao_Paulo');

// 1. CONFIGURAÇÕES DE ARQUIVOS
$arq_usuarios = 'usuarios.json';
$arquivo_pedidos = 'db_pedidos.json';

// Verificação de Login
if (!isset($_SESSION['usuario_id'])) {
    header("Location: login.php");
    exit;
}

// 2. FUNÇÃO DE LEITURA
function lerBanco($caminho) {
    if (!file_exists($caminho)) return [];
    $dados = json_decode(file_get_contents($caminho), true);
    return is_array($dados) ? $dados : [];
}

$usuarios = lerBanco($arq_usuarios);
$pedidos = lerBanco($arquivo_pedidos);

$usuario_id = $_SESSION['usuario_id'];
$nome_exibicao = $_SESSION['usuario_nome'] ?? "Cliente";
$meu_saldo = 0;

// Busca saldo atualizado do usuário
foreach ($usuarios as $u) {
    if ($u['id'] == $usuario_id) {
        $meu_saldo = (float)($u['saldo'] ?? 0);
        break;
    }
}

// 3. PROCESSAMENTO DO FORMULÁRIO
$erro_mensagem = "";

if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['solicitar_entrega'])) {
    $item_input = trim($_POST['item_descricao'] ?? '');
    $ponto_a = trim($_POST['ponto_retirada'] ?? '');
    $ponto_b = trim($_POST['ponto_entrega'] ?? '');
    
    $valor_corrida = 10.00; // Valor fixo

    // --- BLOCO DE TRAVAS DE SEGURANÇA ---
    
    // TRAVA 1: Verifica se escolheu os dois destinos
    if (empty($ponto_a) || empty($ponto_b)) {
        $erro_mensagem = "ERRO: Voc&eacute; deve selecionar a RETIRADA e a ENTREGA!";
   
    }
    // TRAVA 3: Verifica Saldo
    elseif ($meu_saldo < $valor_corrida) {
        $erro_mensagem = "Saldo insuficiente! Recarregue para solicitar.";
    } 
    
    // --- SE PASSOU NAS TRAVAS, PROCESSA O PEDIDO ---
    else {
        // Deduzir Saldo
        foreach ($usuarios as &$u) {
            if ($u['id'] == $usuario_id) {
                $u['saldo'] = (float)$u['saldo'] - $valor_corrida;
                break;
            }
        }
        file_put_contents($arq_usuarios, json_encode($usuarios, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE));

        $novo_id = uniqid();
        $novo_pedido = [
            'id' => $novo_id,
            'cliente_id' => $usuario_id,
            'cliente_nome' => $nome_exibicao,
            'ponto_retirada' => $ponto_a,
            'ponto_entrega' => $ponto_b,
            'item' => $item_input,
            'valor' => $valor_corrida,
            'status' => 'Procurando Entregador...',
            'data' => date('d/m/Y H:i'),
            'codigo_entrega' => rand(1000, 9999)
        ];

        $pedidos[] = $novo_pedido;
        file_put_contents($arquivo_pedidos, json_encode($pedidos, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE));
        
        $_SESSION['pedido_ativo_id'] = $novo_id;
        
        header("Location: acompanhamento.php?id=" . $novo_id);
        exit;
    }
}
?>

<?php if (!empty($erro_mensagem)): ?>
    <div style="background: #ef4444; color: white; padding: 15px; border-radius: 20px; margin-bottom: 20px; font-weight: bold; text-align: center; border: 2px solid black; animation: pulse 1.5s infinite;">
        <i class="fas fa-exclamation-triangle"></i> <?php echo $erro_mensagem; ?>
    </div>
    
    <style>
        @keyframes pulse {
            0% { transform: scale(1); }
            50% { transform: scale(1.02); }
            100% { transform: scale(1); }
        }
    </style>
<?php endif; ?>



<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <title>BRT Express | Solicitar</title>
    <script src="https://cdn.tailwindcss.com"></script>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    <style>
        @import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700;900&display=swap');
        body { font-family: 'Montserrat', sans-serif; background-color: #f8f9fa; }
        .gradient-main { background: linear-gradient(135deg, #000000 0%, #1a1a1a 100%); }
        /* Esconde os passos inicialmente */
        .step { display: none; }
        .step-active { display: block; animation: fadeIn 0.5s ease; }
        @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
    </style>
</head>
<body class="pb-24">

    <header class="gradient-main pt-12 pb-20 px-6 rounded-b-[3rem] shadow-2xl relative text-white">
        <div class="max-w-md mx-auto flex justify-between items-center">
            <div>
                <p class="text-[10px] uppercase font-bold text-yellow-500 tracking-widest">Saldo em Conta</p>
                <h2 class="text-3xl font-black italic">R$ <?php echo number_format($meu_saldo, 2, ',', '.'); ?></h2>
            </div>
            <a href="contacredito.php" class="bg-yellow-500 text-black h-12 w-12 rounded-2xl flex items-center justify-center shadow-lg active:scale-90">
                <i class="fas fa-plus"></i>
            </a>
        </div>
    </header>
    
    
    
    <?php if (isset($_GET['erro']) && $_GET['erro'] == 'duplicado'): ?>
<div class="bg-red-600 text-white p-4 rounded-2xl shadow-lg border-b-4 border-red-800 mb-6 animate-pulse">
    <div class="flex items-center gap-3">
        <i class="fas fa-exclamation-triangle text-2xl"></i>
        <div class="text-left">
            <h4 class="font-black uppercase italic italic text-sm">Pedido Negado!</h4>
            <p class="text-[10px] font-bold opacity-90">
                Você já tem uma corrida em andamento para este mesmo destino. 
                Aguarde a finalização para pedir outra.
            </p>
        </div>
    </div>
</div>
<?php endif; ?>
    
    
    
    
    
    
    
  
    
    
    
    
    
   
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    <main class="max-w-md mx-auto px-6 -mt-10 relative z-20">
        
        <?php if($erro_mensagem): ?>
        <div class="bg-red-500 text-white p-4 rounded-2xl mb-6 shadow-lg text-xs font-bold uppercase italic animate-bounce">
            <i class="fas fa-exclamation-circle mr-2"></i> <?php echo $erro_mensagem; ?>
        </div>
        <?php endif; ?>

        <form method="POST" id="formCorrida" class="bg-white p-6 rounded-[2.5rem] shadow-2xl border border-white">
            
            <div id="step1" class="step step-active mb-5">
                <label class="block text-[14px] font-black text-gray-400 uppercase mb-2 ml-2">O que vamos enviar?</label>
                <div class="relative">
                    <i class="fas fa-box absolute left-4 top-4 text-yellow-500"></i>
                    <input type="text" id="input_item" name="item_descricao" required placeholder="Ex: Chaves, Documento, Marmita..." 
                    class="w-full p-4 pl-12 bg-gray-50 border-none rounded-2xl text-sm font-bold focus:ring-2 focus:ring-yellow-500 outline-none shadow-inner">
                </div>
                <button type="button" onclick="nextStep(2)" class="w-full bg-yellow-500 text-black font-black py-4 rounded-2xl mt-4 uppercase italic text-xs shadow-md">Continuar</button>
            </div>

            <div id="step2" class="step mb-5">
                <label class="block text-[14px] font-black text-gray-400 uppercase mb-2 ml-2 italic">Retirada</label>
                <div class="relative">
                    <input list="estacoes" name="ponto_retirada" id="input_retirada" 
                           placeholder="Esta&ccedil;&atilde;o de retirada?" 
                           class="w-full p-4 bg-gray-50 border-none rounded-2xl text-sm font-bold shadow-inner outline-none focus:ring-2 focus:ring-yellow-500 transition-all">
                    <i class="fas fa-map-marker-alt absolute right-4 top-4 text-yellow-500"></i>
                </div>
                <div class="flex gap-2 mt-4">
                    <button type="button" onclick="prevStep(1)" class="w-1/3 bg-gray-200 text-gray-500 font-bold py-4 rounded-2xl uppercase text-xs">Voltar</button>
                    <button type="button" onclick="nextStep(3)" class="w-2/3 bg-yellow-500 text-black font-black py-4 rounded-2xl uppercase italic text-xs shadow-md">Próximo</button>
                </div>
            </div>

            <div id="step3" class="step mb-5">
                <label class="block text-[14px] font-black text-gray-400 uppercase mb-2 ml-2 italic">Entrega</label>
                <div class="relative">
                    <input list="estacoes" name="ponto_entrega" id="input_entrega" 
                           placeholder="Esta&ccedil;&atilde;o onde entregador?" 
                           class="w-full p-4 bg-gray-50 border-none rounded-2xl text-sm font-bold shadow-inner outline-none focus:ring-2 focus:ring-yellow-500 transition-all">
                    <i class="fas fa-flag-checkered absolute right-4 top-4 text-yellow-500"></i>
                </div>
                <div class="flex gap-2 mt-4">
                    <button type="button" onclick="prevStep(2)" class="w-1/3 bg-gray-200 text-gray-500 font-bold py-4 rounded-2xl uppercase text-xs">Voltar</button>
                    <button type="submit" name="solicitar_entrega" class="w-2/3 bg-black text-yellow-500 font-black py-4 rounded-2xl shadow-xl uppercase italic tracking-widest text-xs active:scale-95 transition-all">
                        Chamar Agora
                    </button>
                </div>
            </div>

            <datalist id="estacoes">
                
    <option value="Terminal Gentileza">
    <option value="Vasco da Gama">
    <option value="Fiocruz">
    <option value="Baixa do Sapateiro">
    <option value="Rubens Vaz">
    <option value="Nova Holanda">
    <option value="Parque das Na&ccedil;&otilde;es">
    <option value="Vila do Jo&atilde;o">
    <option value="Mar&eacute;">
    <option value="Lobo J&uacute;nior">
    <option value="Mercado S&atilde;o Sebasti&atilde;o">
    <option value="Vig&aacute;rio Geral">
    <option value="Marginal">
    <option value="Cidade Alta">
    <option value="Porto Velho">
    <option value="Trevo das Miss&otilde;es">
    <option value="Terminal Deodoro">

    <option value="Terminal Alvorada">
    <option value="Louren&ccedil;o Jorge">
    <option value="Aerotown">
    <option value="Via Parque">
    <option value="Centro Metropolitano">
    <option value="Hospital Sarah">
    <option value="Rio 2">
    <option value="Parque Ol&iacute;mpico">
    <option value="Morro do Outeiro">
    <option value="Asa Branca">
    <option value="Tanque">
    <option value="Ipase">
    <option value="Pra&ccedil;a Seca">
    <option value="Campinho">
    <option value="Madureira-Manaceia">
    <option value="Mercad&atilde;o">
    <option value="Vaz Lobo">
    <option value="Vicente de Carvalho">
    <option value="Pra&ccedil;a do Carmo">
    <option value="Penha">
    <option value="Olaria">
    <option value="Santa Luzia">
    <option value="Fund&atilde;o">
    <option value="Aeroporto Gale&atilde;o">

    <option value="Terminal Campo Grande">
    <option value="Rodovi&aacute;ria">
    <option value="Pina Rangel">
    <option value="S&atilde;o Jorge">
    <option value="Prefeito Alim Pedro">
    <option value="Vila Planalto">
    <option value="Vilar Carioca">
    <option value="Inhoa&iacute;ba">
    <option value="Ana Gonzaga">
    <option value="Agostinho Porto">
    <option value="Vila Paci&ecirc;ncia">
    <option value="Tr&ecirc;s Pontes">
    <option value="Cesarinho">
    <option value="Santa Eug&ecirc;nia">
    <option value="C&acirc;ndido Magalh&atilde;es">
    <option value="Lote XV">
    <option value="Gast&atilde;o Rangel">
    <option value="General Ol&iacute;mpio">
    <option value="Icurana">
    <option value="Cesar&atilde;o I">
    <option value="Cesar&atilde;o II">
    <option value="Cesar&atilde;o III">
    <option value="Santa Cruz">
</datalist>
            </datalist>
        </form>
    </main>




<script>
document.querySelector('form').addEventListener('submit', function(e) {
    const retirada = document.querySelector('select[name="ponto_retirada"], input[name="ponto_retirada"]').value;
    const entrega = document.querySelector('select[name="ponto_entrega"], input[name="ponto_entrega"]').value;

    if (retirada === entrega) {
        e.preventDefault(); // Para o envio do formulário
        alert("ERRO: Escolha a Esta&ccedil;&atilde;o onde entregador entregar !");
    }
});
</script>


<?php
$retirada = trim($_POST['ponto_retirada'] ?? '');
$entrega = trim($_POST['ponto_entrega'] ?? '');

if ($retirada === $entrega && !empty($retirada)) {
    // Se os pontos forem iguais, volta para o index com um erro
    header("Location: index.php?erro=mesmo_ponto");
    exit;
}
?>





    <script>
        function nextStep(step) {
            // Validação simples: não deixa avançar se estiver vazio
            if(step === 2 && document.getElementById('input_item').value === "") {
                alert("Diga o que você vai enviar primeiro!");
                return;
            }
            if(step === 3 && document.getElementById('input_retirada').value === "") {
                alert("Escolha a estação de retirada!");
                return;
            }

            document.querySelectorAll('.step').forEach(el => el.classList.remove('step-active'));
            document.getElementById('step' + step).classList.add('step-active');
        }

        function prevStep(step) {
            document.querySelectorAll('.step').forEach(el => el.classList.remove('step-active'));
            document.getElementById('step' + step).classList.add('step-active');
        }
    </script>

    <nav class="fixed bottom-0 left-0 right-0 bg-white border-t border-gray-100 px-8 py-5 z-50 rounded-t-[2.5rem] shadow-[0_-10px_40px_rgba(0,0,0,0.05)]">
        <div class="max-w-md mx-auto flex justify-between items-center text-gray-400">
            <a href="index.php" class="text-black flex flex-col items-center"><i class="fas fa-home text-xl"></i></a>
            <a href="acompanhamento.php" class="flex flex-col items-center"><i class="fas fa-route text-xl"></i></a>
            <a href="contacredito.php" class="flex flex-col items-center"><i class="fas fa-wallet text-xl"></i></a>
            <a href="perfil.php" class="flex flex-col items-center"><i class="fas fa-user text-xl"></i></a>
        </div>
    </nav>    
</body>
</html>