<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

include_once('../config.php'); 
include_once('../header.php');

$partida_id = isset($_GET['partida']) ? intval($_GET['partida']) : 0;

if ($partida_id == 0) {
    echo "PARTIDA NÃO ENCONTRADA.";
    exit;
}

// --- LÓGICA DE EXCLUSÃO (ESTORNO) ---
if (isset($_GET['del_hist'])) {
    $id_hist = intval($_GET['del_hist']);
    
    // Busca os dados do histórico antes de deletar para estornar os pontos
    $busca = $conn->query("SELECT jogador_id, pontos_lancados FROM uno_historico WHERE id = $id_hist")->fetch_assoc();
    
    if ($busca) {
        $jid = $busca['jogador_id'];
        $pts = $busca['pontos_lancados'];
        
        // Remove os pontos do total do jogador
        $conn->query("UPDATE uno_jogadores SET pontos_total = pontos_total - $pts WHERE id = $jid");
        
        // Deleta o registro do histórico
        $conn->query("DELETE FROM uno_historico WHERE id = $id_hist");
    }
    echo "<script>window.location.href='placaruno.php?partida=$partida_id';</script>";
    exit();
}

// --- LÓGICA DE ALTERAÇÃO ---
if (isset($_POST['btn_editar_hist'])) {
    $id_hist = intval($_POST['id_hist']);
    $novo_pts = intval($_POST['novo_pontos']);
    $novo_local = strtoupper(trim($_POST['novo_local']));
    
    $antigo = $conn->query("SELECT jogador_id, pontos_lancados FROM uno_historico WHERE id = $id_hist")->fetch_assoc();
    
    if ($antigo) {
        $jid = $antigo['jogador_id'];
        $pts_antigos = $antigo['pontos_lancados'];
        
        // Ajusta o total do jogador: remove o antigo e soma o novo
        $conn->query("UPDATE uno_jogadores SET pontos_total = (pontos_total - $pts_antigos) + $novo_pts WHERE id = $jid");
        
        // Atualiza o histórico
        $conn->query("UPDATE uno_historico SET pontos_lancados = $novo_pts, local_partida = '$novo_local' WHERE id = $id_hist");
    }
    echo "<script>window.location.href='placaruno.php?partida=$partida_id';</script>";
    exit();
}

// Busca nome da sala
$dados_partida = $conn->query("SELECT local FROM uno_partidas WHERE id = $partida_id")->fetch_assoc();
$nome_sala = $dados_partida['local'] ?? 'SALA';

// SALVAR NOVO LANÇAMENTO
if (isset($_POST['btn_lancar'])) {
    $pontos_array = $_POST['pontos'] ?? [];
    $local_manual = strtoupper(trim($_POST['local_partida_manual']));
    
    foreach ($pontos_array as $jogador_id => $pts) {
        $pts = intval($pts);
        if ($pts > 0) {
            $conn->query("UPDATE uno_jogadores SET pontos_total = pontos_total + $pts WHERE id = $jogador_id");
            $conn->query("INSERT INTO uno_historico (partida_id, jogador_id, pontos_lancados, local_partida) 
                          VALUES ('$partida_id', '$jogador_id', '$pts', '$local_manual')");
        }
    }
    echo "<script>window.location.href='placaruno.php?partida=$partida_id';</script>";
    exit();
}
?>

<style>
    body { font-family: 'Segoe UI', sans-serif; background: #f0f2f5; text-transform: uppercase; }
    .card-placar { background: #fff; padding: 20px; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); max-width: 500px; margin: 20px auto; border-top: 6px solid #d32f2f; }
    .item-jogador { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid #eee; }
    input[type="number"], input[type="text"] { padding: 8px; border-radius: 5px; border: 1px solid #ddd; font-weight: bold; text-transform: uppercase; }
    .input-local { width: 100%; margin-bottom: 15px; padding: 12px; box-sizing: border-box; border: 2px solid #d32f2f; }
    .btn-lancar { background: #2e7d32; color: white; border: none; padding: 15px; width: 100%; cursor: pointer; font-weight: 900; border-radius: 8px; margin-top: 15px; }
    .hist-container { max-width: 900px; margin: 20px auto; background: #fff; padding: 15px; border-radius: 10px; box-shadow: 0 2px 10px rgba(0,0,0,0.05); }
    .tabela-hist { width: 100%; border-collapse: collapse; margin-top: 10px; font-size: 12px; }
    .tabela-hist th, .tabela-hist td { border: 1px solid #eee; padding: 8px; text-align: center; }
    .btn-acao { text-decoration: none; padding: 5px; border-radius: 4px; font-size: 10px; color: white; font-weight: bold; }
</style>

<div class="card-placar">
    <h2 style="text-align: center; color: #d32f2f; font-size: 18px;">🎴 LANÇAR PONTOS - <?php echo $nome_sala; ?></h2>
    <form method="POST">
        <label style="font-size: 11px; font-weight: bold; color: #d32f2f;">ONDE FOI A PARTIDA? (LOCAL)</label>
        <input type="text" name="local_partida_manual" class="input-local" placeholder="EX: SALA, QUINTAL, ETC" required>

        <?php
        $jogadores = $conn->query("SELECT * FROM uno_jogadores WHERE partida_id = $partida_id ORDER BY nome ASC");
        while($j = $jogadores->fetch_assoc()):
        ?>
        <div class="item-jogador">
            <span>👤 <?php echo $j['nome']; ?> (<b><?php echo $j['pontos_total']; ?></b>)</span>
            <input type="number" name="pontos[<?php echo $j['id']; ?>]" placeholder="0">
        </div>
        <?php endwhile; ?>
        <button type="submit" name="btn_lancar" class="btn-lancar">REGISTRAR RODADA 🚀</button>
        <a href="uno.php" style="display:block; text-align:center; margin-top:15px; color:#666; text-decoration:none; font-weight:bold;">⬅️ VOLTAR</a>
    </form>
</div>

<div class="hist-container">
    <h3 style="text-align: center; color: #333;">📜 HISTÓRICO</h3>
    <table class="tabela-hist">
        <thead>
            <tr style="background:#f8f9fa;">
                <th>DATA</th>
                <th>JOGADOR</th>
                <th>PTS</th>
                <th>LOCAL</th>
                <th>AÇÕES</th>
            </tr>
        </thead>
        <tbody>
            <?php
            $hist = $conn->query("SELECT h.*, j.nome FROM uno_historico h JOIN uno_jogadores j ON h.jogador_id = j.id WHERE h.partida_id = '$partida_id' ORDER BY h.id DESC");
            while($h = $hist->fetch_assoc()):
            ?>
            <tr>
                <td><?php echo date('d/m/Y H:i', strtotime($h['data_registro'])); ?></td>
                <td style="text-align:left;"><b><?php echo $h['nome']; ?></b></td>
                <td style="color:red;">+<?php echo $h['pontos_lancados']; ?></td>
                <td><?php echo $h['local_partida']; ?></td>
                <td>
                    <button onclick="alterarLancamento(<?php echo $h['id']; ?>, '<?php echo $h['pontos_lancados']; ?>', '<?php echo $h['local_partida']; ?>')" style="background: #f1c40f; border:none; cursor:pointer;" class="btn-acao">✏️</button>
                    
                    <a href="?partida=<?php echo $partida_id; ?>&del_hist=<?php echo $h['id']; ?>" class="btn-acao" style="background: #e74c3c;" onclick="return confirm('Deseja excluir e estornar os pontos?')">🗑️</a>
                </td>
            </tr>
            <?php endwhile; ?>
        </tbody>
    </table>
</div>

<form id="form_editar" method="POST" style="display:none;">
    <input type="hidden" name="id_hist" id="edit_id">
    <input type="hidden" name="novo_pontos" id="edit_pts">
    <input type="hidden" name="novo_local" id="edit_local">
    <input type="hidden" name="btn_editar_hist" value="1">
</form>

<script>
function alterarLancamento(id, pts, local) {
    let novoPts = prompt("NOVA PONTUAÇÃO:", pts);
    let novoLocal = prompt("NOVO LOCAL:", local);
    
    if (novoPts !== null && novoLocal !== null) {
        document.getElementById('edit_id').value = id;
        document.getElementById('edit_id').value = id;
        document.getElementById('edit_pts').value = novoPts;
        document.getElementById('edit_local').value = novoLocal;
        document.getElementById('form_editar').submit();
    }
}
</script>