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

$arquivo = 'db_pedidos.json';
$pedidos = file_exists($arquivo) ? json_decode(file_get_contents($arquivo), true) : [];

// --- LÓGICA PARA LIMPAR A VISTA ---
if (!isset($_SESSION['corridas_ignoradas'])) {
    $_SESSION['corridas_ignoradas'] = [];
}

if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['acao']) && $_POST['acao'] == 'esconder') {
    $_SESSION['corridas_ignoradas'][] = $_POST['id_pedido'];
    header("Location: admin.php");
    exit;
}

// 1. PROCESSAMENTO DE STATUS E GERAÇÃO DE CÓDIGO
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['id_pedido']) && !isset($_POST['acao'])) {
    $id = $_POST['id_pedido'];
    foreach ($pedidos as &$p) {
        if ($p['id'] == $id) {
            if (isset($_POST['novo_status'])) {
                if ($_POST['novo_status'] == 'cancelar') {
                    $p['status'] = "Procurando Entregador";
                    $p['entregador_id'] = null;
                } else {
                    $p['status'] = $_POST['novo_status'];
                    $p['entregador_id'] = $_SESSION['usuario_id'] ?? 'ID_OFFLINE';
                    $p['entregador_nome'] = $_SESSION['usuario_nome'] ?? 'Entregador';

                    // --- NOVO: GERA CÓDIGO DE 4 DÍGITOS NO ATO DO ACEITE ---
                    if (!isset($p['codigo_entrega']) || empty($p['codigo_entrega'])) {
                        $p['codigo_entrega'] = (string)rand(1000, 9999);
                    }
                }
            }
            break;
        }
    }
    file_put_contents($arquivo, json_encode($pedidos, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE));
    header("Location: admin.php");
    exit;
}

// 2. LÓGICA DE SALDO E FILTROS
$total_entregas_feitas = 0; 
$saldo_total = 0;
$pedido_em_foco = null;
$tem_novo_pedido = false;

if (is_array($pedidos)) {
    foreach ($pedidos as $p) {
        $st = $p['status'] ?? '';
        if ($st == "Procurando Entregador" && !in_array($p['id'], $_SESSION['corridas_ignoradas'])) { 
            $tem_novo_pedido = true; 
        }

        $id_meu = (string)($_SESSION['usuario_id'] ?? '');
        $id_p = (string)($p['entregador_id'] ?? '');

        if (!empty($id_meu) && $id_p === $id_meu) {
            if (in_array($st, ["A caminho da Estação", "Entregador no Local", "Em trânsito"])) {
                $pedido_em_foco = $p;
            }
            if (stripos($st, 'Recebido') !== false || stripos($st, 'Concluída') !== false) {
                $total_entregas_feitas++;
                $saldo_total += 5.00;
            }
        }
    }
}
$procurando = $tem_novo_pedido;
?>

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <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">
    <title>Painel Entregador | OABCG</title>
    <style>
        @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700;900&display=swap');
        body { font-family: 'Inter', sans-serif; background-color: #0f172a; color: white; }
    </style>
</head>
<body class="pb-32">

    <div class="max-w-xl mx-auto px-4 pt-6">
        <header class="flex justify-between items-center mb-6 bg-slate-800/50 p-5 rounded-3xl border border-white/10 shadow-xl">
            <div>
                <p class="text-[10px] text-slate-400 uppercase italic leading-none">Logística</p>
                <h1 class="text-lg font-black text-blue-400 uppercase italic tracking-tighter"><?php echo $_SESSION['usuario_nome'] ?? 'Entregador'; ?></h1>
            </div>
            <a href="login2.php?logout=1" class="text-red-500 bg-red-500/10 h-10 w-10 flex items-center justify-center rounded-2xl border border-red-500/20"><i class="fas fa-power-off"></i></a>
        </header>

        <div class="grid grid-cols-2 gap-4 mb-8">
            <div class="bg-gradient-to-br from-emerald-600 to-emerald-900 p-5 rounded-[2rem] border border-white/10 shadow-xl">
                <p class="text-[9px] uppercase font-black text-emerald-100 opacity-70 mb-1">Saldo</p>
                <h2 class="text-2xl font-black italic">R$ <?php echo number_format($saldo_total, 2, ',', '.'); ?></h2>
            </div>
            <div class="bg-slate-800 p-5 rounded-[2rem] border border-white/5 shadow-xl text-right">
                <p class="text-[9px] uppercase font-black text-slate-400 mb-1">Entregas</p>
                <h2 class="text-3xl font-black italic text-blue-500"><?php echo $total_entregas_feitas; ?></h2>
            </div>
        </div>

        <div class="space-y-6">
            <?php if ($pedido_em_foco): ?>
                <div class="bg-white rounded-[2.5rem] p-6 text-slate-900 shadow-2xl border-t-8 border-blue-600">
                    
                    <div class="bg-blue-50 border-2 border-dashed border-blue-200 rounded-3xl p-5 mb-6 text-center">
                        <p class="text-[10px] font-black text-blue-400 uppercase tracking-widest mb-1">Código para informar ao cliente:</p>
                        <h2 class="text-4xl font-black text-blue-600 tracking-[0.3em] ml-3 italic">
                            <?php echo $pedido_em_foco['codigo_entrega'] ?? '----'; ?>
                        </h2>
                        <p class="text-[9px] text-slate-400 mt-2 font-bold italic">O cliente deve digitar esse código para finalizar</p>
                    </div>

                    <div class="mb-4">
                        <p class="text-[9px] font-black text-slate-400 uppercase mb-1 leading-none">Solicitante:</p>
                        <p class="text-sm font-black text-blue-900 uppercase italic"><?php echo htmlspecialchars($pedido_em_foco['cliente'] ?? 'Cliente'); ?></p>
                    </div>

                    <div class="space-y-3 mb-6 bg-slate-50 p-5 rounded-3xl border border-slate-100 italic">
                        <div>
                            <p class="text-[8px] font-black text-blue-400 uppercase mb-1">Retirada:</p>
                            <p class="text-[11px] font-black text-slate-800 uppercase leading-tight"><?php echo htmlspecialchars($pedido_em_foco['ponto_retirada'] ?? $pedido_em_foco['origem'] ?? '---'); ?></p>
                        </div>
                        <div>
                            <p class="text-[8px] font-black text-emerald-500 uppercase mb-1">Entrega:</p>
                            <p class="text-[11px] font-black text-slate-800 uppercase leading-tight"><?php echo htmlspecialchars($pedido_em_foco['ponto_entrega'] ?? $pedido_em_foco['destino'] ?? '---'); ?></p>
                        </div>
                    </div>

                    <form method="POST" class="mb-6">
                        <input type="hidden" name="id_pedido" value="<?php echo $pedido_em_foco['id']; ?>">
                        <button name="novo_status" value="Entregador no Local" class="w-full bg-blue-600 text-white font-black py-4 rounded-2xl uppercase italic text-[11px] shadow-lg border-b-4 border-blue-800 active:scale-95 transition-all">
                           AVISAR QUE CHEGUEI
                        </button>
                    </form>

                    <div class="bg-slate-100 rounded-3xl p-4 shadow-inner">
                        <div id="box-chat" class="h-32 overflow-y-auto mb-3 space-y-2 text-[11px] pr-1"></div>
                        <div class="flex gap-2">
                            <input type="text" id="input-msg" class="flex-1 bg-white border border-slate-200 p-3 rounded-xl text-xs font-bold outline-none" placeholder="Mandar recado...">
                            <button onclick="enviarMensagem()" class="bg-blue-600 text-white w-10 h-10 rounded-xl flex items-center justify-center shadow-lg"><i class="fas fa-paper-plane text-xs"></i></button>
                        </div>
                    </div>
                </div>

            <?php else: ?>
                <h2 class="text-[10px] font-black uppercase italic text-slate-500 tracking-widest mb-4 ml-2">Radar de Corridas</h2>
                
                <?php 
                foreach (array_reverse($pedidos) as $p): 
                    if (($p['status'] ?? '') !== "Procurando Entregador") continue; 
                    if (in_array($p['id'], $_SESSION['corridas_ignoradas'])) continue; 
                ?>
                    <div class="bg-slate-800/60 border border-white/10 rounded-[2rem] p-6 mb-4 relative">
                        <form method="POST" class="absolute top-4 right-4">
                            <input type="hidden" name="id_pedido" value="<?php echo $p['id']; ?>">
                            <input type="hidden" name="acao" value="esconder">
                            <button type="submit" class="text-slate-500"><i class="fas fa-times-circle text-xl"></i></button>
                        </form>

                        <div class="mb-4">
                            <p class="text-[9px] font-black text-blue-400 uppercase italic leading-none">Solicitante:</p>
                            <p class="text-sm font-black text-white uppercase italic"><?php echo htmlspecialchars($p['cliente'] ?? 'Cliente'); ?></p>
                        </div>

                        <form method="POST">
                            <input type="hidden" name="id_pedido" value="<?php echo $p['id']; ?>">
                            <button name="novo_status" value="Em trânsito" class="w-full bg-blue-600 text-white font-black py-4 rounded-2xl shadow-lg text-[11px] uppercase italic border-b-4 border-blue-800">
                                ACEITAR CORRIDA
                            </button>
                        </form>
                    </div>
                <?php endforeach; ?>
            <?php endif; ?>
        </div>
    </div>

    <script>
        const pedidoAtivoId = "<?php echo $pedido_em_foco['id'] ?? ''; ?>";
        function carregarMensagens() {
            if(!pedidoAtivoId) return;
            fetch(`mensagens.json?t=${Date.now()}`).then(r => r.json()).then(data => {
                const box = document.getElementById('box-chat');
                const msgs = data[pedidoAtivoId] || [];
                box.innerHTML = msgs.map(m => `<div class="flex ${m.de == 'entregador' ? 'justify-end' : 'justify-start'}"><div class="p-2 rounded-xl ${m.de == 'entregador' ? 'bg-blue-600 text-white' : 'bg-white text-slate-800'} max-w-[85%]">${m.msg}</div></div>`).join('');
                box.scrollTop = box.scrollHeight;
            });
        }
        <?php if($pedido_em_foco): ?> setInterval(carregarMensagens, 4000); carregarMensagens(); <?php endif; ?>
    </script>
</body>
</html>