<?php
// Configura o tempo de vida da sessão no servidor (60 segundos)
ini_set('session.gc_maxlifetime', 60);
session_set_cookie_params(60);

session_start();

// --- CONFIGURAÇÃO DE PREÇOS (ALTERE FACILMENTE AQUI) ---
$valor_por_entrega = 5.00; 

// Define o tempo de expiração (1 minuto = 60 segundos)
$tempo_expiracao = 1440; 

if (isset($_SESSION['ultimo_clique'])) {
    $inatividade = time() - $_SESSION['ultimo_clique'];
    
    if ($inatividade > $tempo_expiracao) {
        // Se passou de 1 minuto, destrói a sessão e manda para o login
        session_unset();
        session_destroy();
        header("Location: login2.php?erro=sessao_expirada");
        exit;
    }
}

// Atualiza o tempo do último clique para agora
$_SESSION['ultimo_clique'] = time();

// Verifica login e prepara IDs
if (!isset($_SESSION['usuario_nome'])) {
    header("Location: login2.php");
    exit;
}
?>

<?php
header('Content-Type: text/html; charset=utf-8');
// session_start(); // Removido pois já foi iniciado acima
date_default_timezone_set('America/Sao_Paulo');

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

if (!isset($_SESSION['corridas_ignoradas'])) {
    $_SESSION['corridas_ignoradas'] = [];
}

// 1. Lógica para esconder corrida do radar (Botão X)
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['acao']) && $_POST['acao'] == 'esconder') {
    $_SESSION['corridas_ignoradas'][] = $_POST['id_pedido'];
    header("Location: admin.php");
    exit;
}

// 2. Lógica para Aceitar ou Mudar Status (Confirmar Pedido)
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'] = "OFFLINE";
                    $p['entregador_nome'] = "Nenhum";
                } else {
                    $p['status'] = $_POST['novo_status'];
                    // CARIMBO DO ENTREGADOR (Corrigido para usar CPF ou ID disponível)
                    $p['entregador_id'] = (string)($_SESSION['usuario_cpf'] ?? $_SESSION['usuario_id'] ?? 'OFFLINE');
                    $p['entregador_nome'] = $_SESSION['usuario_nome'] ?? 'Entregador';
                    
                    if (!isset($p['codigo_entrega']) || empty($p['codigo_entrega'])) {
                        $p['codigo_entrega'] = (string)rand(1000, 9999);
                    }
                }
            }
            break;
        }
    }
    file_put_contents($arquivo, json_encode(array_values($pedidos), JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE));
    header("Location: admin.php");
    exit;
}

$total_entregas_feitas = 0; 
$saldo_total = 0;
$pedido_em_foco = null;
$corridas_disponiveis = [];

if (is_array($pedidos)) {
    $meu_id = (string)($_SESSION['usuario_cpf'] ?? $_SESSION['usuario_id'] ?? 'OFFLINE');
    
    foreach ($pedidos as $p) {
        $st_original = $p['status'] ?? '';
        $st_limpo = trim($st_original, ".");
        $entregador_do_p = (string)($p['entregador_id'] ?? '');

        // LÓGICA DE SALDO E FOCO
        if (!empty($entregador_do_p) && $entregador_do_p === $meu_id) {
            // Corrida em andamento
            if (in_array($st_limpo, ["Em trânsito", "A caminho da Estação", "Entregador no Local", "Em Viagem"])) {
                $pedido_em_foco = $p;
            }
            // Cálculo de Saldo (Corrigido para valor fixo e sem duplicidade)
            $status_finais = ["Recebido", "Concluído", "Viagem Concluída", "Concluída"];
            if (in_array($st_limpo, $status_finais)) {
                $total_entregas_feitas++;
                $saldo_total += $valor_por_entrega;
            }
        } 
        // LÓGICA DO RADAR (Corrigido para aceitar Pendente e Procurando)
        else {
            $status_abertos = ["Procurando Entregador", "Pendente", "Procurando Entregador..."];
            if (in_array($st_limpo, $status_abertos) && (empty($entregador_do_p) || $entregador_do_p === "OFFLINE")) {
                if (!in_array($p['id'], $_SESSION['corridas_ignoradas'])) {
                    $corridas_disponiveis[] = $p;
                }
            }
        }
    }
}

if ($pedido_em_foco) {
    $corridas_disponiveis = [];
}

// --- LÓGICA ADICIONADA: CARREGAR DADOS DO ENTREGADOR LOGADO ---
$entregadores = json_decode(file_exists('entregadores.json') ? file_get_contents('entregadores.json') : '[]', true) ?: [];
$meu_id_logado = (string)($_SESSION['usuario_cpf'] ?? $_SESSION['usuario_id'] ?? 'OFFLINE');
$meus_dados = null;

foreach ($entregadores as $ent) {
    // Busca pelo CPF ou pelo ID para garantir que encontre o perfil correto
    if (strval($ent['id'] ?? '') === $meu_id_logado || strval($ent['cpf'] ?? '') === $meu_id_logado) {
        $meus_dados = $ent;
        break;
    }
}

$media = $meus_dados['media_estrelas'] ?? 0;
$reclamacoes = $meus_dados['reclamacoes'] ?? 0;
$bonus_atual = $media; 
?>

<!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">
    <meta http-equiv="refresh" content="30">
    <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>BRT Encomendas</title>
    <style>
        @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800&display=swap');
        body { font-family: 'Inter', sans-serif; background-color: #F4F4F4; color: #1A1A1A; }
        .bg-99 { background-color: #FFD100; }
        .text-99 { color: #FFD100; }
        .btn-99 { background-color: #FFD100; color: #1A1A1A; font-weight: 800; }
    </style>
</head>
<body class="pb-10">

    <nav class="bg-white px-6 py-4 flex justify-between items-center shadow-sm sticky top-0 z-50">
        <div class="flex items-center gap-3">
            <div class="w-10 h-10 bg-99 rounded-full flex items-center justify-center font-black text-xl">BRT</div>
            <div>
                <p class="text-[10px] font-bold text-gray-400 uppercase leading-none">Online</p>
                <h1 class="text-sm font-black uppercase tracking-tighter">
                    <?php echo $_SESSION['usuario_nome'] ?? 'Sessão Encerrada'; ?>
                </h1>
            </div>
        </div>
        <a href="login2.php?logout=1" class="text-gray-400 p-2"><i class="fas fa-sign-out-alt text-xl"></i></a>
    </nav>

<div class="max-w-md mx-auto px-4 mt-6">
    <div class="grid grid-cols-2 gap-4 mb-8">
        <div class="bg-white p-6 rounded-[2rem] shadow-xl border-b-4 border-green-500 text-center">
            <p class="text-[10px] font-black text-gray-400 uppercase italic">Sua Avaliação</p>
            <div class="flex flex-col items-center mt-1">
                <h3 class="text-2xl font-black text-gray-800"><?php echo number_format($media, 1); ?></h3>
                <div class="text-green-500 text-[10px]">
                    <?php for($i=1; $i<=5; $i++) echo $i <= $media ? '<i class="fas fa-star"></i>' : '<i class="far fa-star"></i>'; ?>
                </div>
            </div>
            <p class="text-[9px] font-bold text-green-600 mt-2">+<?php echo $bonus_atual; ?>% de bônus</p>
        </div>

        <div class="bg-white p-6 rounded-[2rem] shadow-xl border-b-4 <?php echo $reclamacoes > 0 ? 'border-red-500' : 'border-blue-500'; ?> text-center">
            <p class="text-[10px] font-black text-gray-400 uppercase italic">Reclamações</p>
            <h3 class="text-2xl font-black mt-1 <?php echo $reclamacoes > 0 ? 'text-red-600' : 'text-gray-800'; ?>">
                <?php echo $reclamacoes; ?>/2
            </h3>
            <p class="text-[9px] font-bold text-gray-400 mt-2">
                <?php echo $reclamacoes >= 1 ? 'ALERTA DE BLOQUEIO' : 'Conta Regular'; ?>
            </p>
        </div>
    </div>

    <div class="bg-black text-white p-6 rounded-[2rem] flex justify-between items-center mb-6 shadow-2xl">
        <div>
            <p class="text-[10px] font-bold text-gray-400 uppercase mb-1">Ganhos do dia</p>
            <h2 class="text-3xl font-extrabold italic">R$ <?php echo number_format($saldo_total, 2, ',', '.'); ?></h2>
        </div>
        <div class="text-right">
            <p class="text-[10px] font-bold text-gray-400 uppercase mb-1">Entregas</p>
            <h2 class="text-3xl font-extrabold italic text-99"><?php echo $total_entregas_feitas; ?></h2>
        </div>
    </div>

    <?php if ($pedido_em_foco): ?>
        <div class="bg-white rounded-[2.5rem] shadow-xl overflow-hidden mb-8 border-2 border-99">
            <div class="bg-99 p-4 text-center">
                <p class="text-[13px] font-black uppercase tracking-widest text-black/60">Corrida em Andamento</p>
            </div>
            
            <div class="p-6">
                <div class="mb-4 flex justify-between items-start">
                    <div>
                        <p class="text-[10px] font-bold text-gray-400 uppercase">Solicitante</p>
                        <p class="text-sm font-black text-gray-800 italic uppercase"><?php echo htmlspecialchars($pedido_em_foco['cliente_nome'] ?? 'Não informado'); ?></p>
                    </div>
                    <?php if(!empty($pedido_em_foco['data'])): ?>
                    <div class="text-right">
                        <p class="text-[10px] font-bold text-red-500 uppercase italic">Iniciada em</p>
                        <p class="text-[11px] font-black text-gray-800"><?php echo $pedido_em_foco['data']; ?></p>
                    </div>
                    <?php endif; ?>
                </div>

                <div class="bg-gray-50 border-2 border-dashed border-gray-200 rounded-3xl p-5 mb-6 text-center">
                    <p class="text-[10px] font-bold text-gray-400 uppercase mb-1">Código de Confirmação</p>
                    <h2 class="text-4xl font-black text-black tracking-[0.2em] italic">
                        <?php echo $pedido_em_foco['codigo_entrega'] ?? '----'; ?>
                    </h2>
                </div>

                <div class="space-y-3 mb-6">
                    <div class="flex items-center gap-3 bg-gray-50 p-3 rounded-2xl border border-gray-100">
                        <i class="fas fa-box text-gray-400"></i>
                        <span class="text-xs font-bold text-gray-800 uppercase italic">
                            Item: <?php echo htmlspecialchars($pedido_em_foco['item'] ?? 'Pedido Express'); ?>
                        </span>
                    </div>
                </div>

                <div class="relative pl-8 mb-6 border-l-2 border-gray-100 ml-2">
                    <div class="mb-4">
                        <p class="text-[9px] font-bold text-gray-400 uppercase">Retirada</p>
                        <p class="text-sm font-black text-gray-700 uppercase"><?php echo $pedido_em_foco['ponto_retirada']; ?></p>
                    </div>
                    <div>
                        <p class="text-[9px] font-bold text-gray-400 uppercase">Entrega</p>
                        <p class="text-sm font-black text-gray-700 uppercase"><?php echo $pedido_em_foco['ponto_entrega']; ?></p>
                    </div>
                </div>

                <div class="bg-gray-100 rounded-3xl p-4 mt-4">
                    <p class="text-[9px] font-black text-gray-400 uppercase mb-2 italic">Chat com o cliente</p>
                    <div id="box-chat" class="h-48 overflow-y-auto mb-4 space-y-2 flex flex-col p-2 text-[11px] bg-white/50 rounded-2xl border border-gray-200">
                        <p class="text-center text-gray-300 mt-10">Carregando...</p>
                    </div>
                    <div class="flex gap-2">
                        <input type="text" id="input-msg" class="flex-1 bg-white p-3 rounded-xl text-xs font-bold outline-none border border-transparent focus:border-99" placeholder="Mande uma mensagem...">
                        <button id="btn-enviar" onclick="enviarMensagem()" class="bg-black text-99 w-10 h-10 rounded-xl flex items-center justify-center">
                            <i class="fas fa-paper-plane"></i>
                        </button>
                    </div>
                </div>

                <form method="POST" onsubmit="return confirm('Sair desta corrida?');" class="mt-4">
                    <input type="hidden" name="id_pedido" value="<?php echo $pedido_em_foco['id']; ?>">
                    <button name="novo_status" value="cancelar" class="w-full py-3 text-red-500 font-bold text-[10px] uppercase border border-red-100 rounded-xl">
                        Abandonar Corrida
                    </button>
                </form>
            </div>
        </div>
    <?php endif; ?>

    <h3 class="text-xs font-black uppercase italic text-gray-500 tracking-widest mb-4 flex items-center gap-2">
        <span class="w-2 h-2 bg-green-500 rounded-full animate-ping"></span> Radar de Corridas
    </h3>

    <?php if (empty($corridas_disponiveis)): ?>
        <div class="text-center py-16 bg-white rounded-[2rem] border-2 border-dashed border-gray-200">
            <i class="fas fa-satellite-dish text-gray-300 text-4xl mb-4"></i>
            <h2 class="text-sm font-bold text-gray-400 uppercase italic">Procurando pedidos...</h2>
        </div>
    <?php else: ?>
        <div class="space-y-6">
            <?php foreach (array_reverse($corridas_disponiveis) as $p): ?>
            <div class="bg-white rounded-[2rem] p-6 shadow-md border border-gray-100 relative overflow-hidden">
                
                <div class="absolute top-0 left-0">
                    <div class="bg-green-600 text-white font-black px-4 py-2 rounded-br-[1.5rem] shadow-sm flex flex-col items-center">
                        <span class="text-[7px] uppercase tracking-tighter leading-none text-white/80 mb-1 italic">Ganhos</span>
                        <span class="text-xs font-black italic">R$ <?php echo number_format($valor_por_entrega, 2, ',', '.'); ?></span>
                    </div>
                </div>

                <div class="absolute top-0 right-0">
                    <div class="bg-99 text-black font-black px-4 py-2 rounded-bl-[1.5rem] shadow-sm flex flex-col items-center">
                        <span class="text-[7px] uppercase tracking-tighter leading-none text-black/60 mb-1 italic">Solicitado</span>
                        <span class="text-[10px] font-black leading-none whitespace-nowrap">
                            <?php echo $p['data'] ?? date('d/m H:i'); ?>
                        </span>
                    </div>
                </div>

                <form method="POST" class="absolute top-12 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-gray-300 hover:text-red-500"><i class="fas fa-times"></i></button>
                </form>

                <div class="mt-8 mb-4">
                    <p class="text-[10px] font-bold text-gray-400 uppercase">Cliente:</p>
                    <p class="text-xs font-black text-gray-800 uppercase"><?php echo htmlspecialchars($p['cliente_nome'] ?? 'Privado'); ?></p>
                </div>

                <div class="mb-4">
                    <p class="text-[10px] font-bold text-gray-400 uppercase">Item:</p>
                    <p class="text-sm text-gray-800 uppercase font-medium italic"><?php echo htmlspecialchars($p['item']); ?></p>
                </div>

                <div class="mb-6">
                    <p class="text-[10px] font-bold text-gray-600 uppercase mb-2">Rota:</p>
                    <div class="flex items-center gap-2 bg-gray-50 p-3 rounded-2xl border border-gray-100">
                        <span class="text-[11px] font-black text-blue-600 uppercase italic"><?php echo $p['ponto_retirada']; ?></span>
                        <i class="fas fa-arrow-right text-[10px] text-gray-300"></i>
                        <span class="text-[11px] font-black text-green-600 uppercase italic"><?php echo $p['ponto_entrega']; ?></span>
                    </div>
                </div>

                <button type="button" onclick="aceitarCorrida('<?php echo $p['id']; ?>', this)" class="w-full btn-99 py-4 rounded-2xl shadow-lg uppercase italic text-xs active:scale-95 transition-all">
                    Aceitar Corrida
                </button>
            </div>
            <?php endforeach; ?>
        </div>
    <?php endif; ?>
</div>
</body>
</html>

<audio id="somAlerta" src="alerta.mp3" preload="auto"></audio>

<script>
    const pedidoAtivoId = "<?php echo $pedido_em_foco['id'] ?? ''; ?>";
    
    function aceitarCorrida(idPedido, botao) {
        const card = botao.closest('.bg-white');
        card.style.opacity = '0.5';
        card.style.pointerEvents = 'none';

        const params = new URLSearchParams();
        params.append('id_pedido', idPedido);
        params.append('novo_status', 'Em trânsito');

        fetch('admin.php', { method: 'POST', body: params })
        .then(() => { window.location.reload(); });
    }

    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] || [];
                if (msgs.length === 0) {
                    box.innerHTML = '<p class="text-center text-gray-300 mt-10">Sem mensagens.</p>';
                    return;
                }
                box.innerHTML = msgs.map(m => `
                    <div class="flex ${m.de === 'entregador' ? 'justify-end' : 'justify-start'} mb-1">
                        <div class="p-2 px-4 rounded-2xl ${m.de === 'entregador' ? 'bg-black text-[#FFD100] rounded-tr-none' : 'bg-white text-gray-800 border border-gray-200 rounded-tl-none'} max-w-[85%] font-bold">
                            ${m.msg}
                        </div>
                    </div>
                `).join('');
                box.scrollTop = box.scrollHeight;
            });
    }

    if (pedidoAtivoId) {
        carregarMensagens();
        setInterval(carregarMensagens, 3000);
    }

    // Inatividade
    (function() {
        let timer;
        const reset = () => { clearTimeout(timer); timer = setTimeout(() => window.location.href='login2.php?erro=inatividade', 60000); };
        ['mousedown', 'mousemove', 'keypress', 'scroll', 'touchstart'].forEach(e => document.addEventListener(e, reset));
        reset();
    })();

    // Auto-update
    let ultimaMod = null;
    setInterval(() => {
        fetch('db_pedidos.json', { method: 'HEAD' }).then(res => {
            const mod = res.headers.get('Last-Modified');
            if (ultimaMod && mod !== ultimaMod) window.location.reload();
            ultimaMod = mod;
        });
    }, 2000);
</script>

</body>
</html>