<?php
session_start();
if(!isset($_SESSION['rev_logado'])){ header("Location: index_rev.php"); exit(); }
include('../api/conexao_rev.php'); 
include_once('../funcoes_logs.php'); 

$id_master = $_SESSION['rev_logado'];

$dados_master_log = $conn_rev->query("SELECT login_rev FROM dados_rev WHERE id_rev = '$id_master'")->fetch_assoc();
$nome_master_logado = $dados_master_log['login_rev'];

// 1. CADASTRAR SUB-REVENDA
if(isset($_POST['cadastrar_sub'])){
    $user_new = $_POST['login_rev'];
    $pass_new = password_hash($_POST['senha_rev'], PASSWORD_DEFAULT); 
    $check = $conn_rev->query("SELECT id_rev FROM dados_rev WHERE login_rev = '$user_new'");
    if($check->num_rows > 0){
        $erro = "Este login já está em uso.";
    } else {
        $sql_cad = "INSERT INTO dados_rev (login_rev, senha_rev, creditos_rev, nivel_rev, id_pai) VALUES ('$user_new', '$pass_new', 0, 1, '$id_master')";
        if($conn_rev->query($sql_cad)){
            gravarLogRevenda($nome_master_logado, "Cadastrou Sub-Revenda", "Criou novo acesso para: $user_new");
            $sucesso_cadastro = true;
        }
    }
}

// 2. ADICIONAR CRÉDITOS
if(isset($_POST['add_credito_sub'])){
    $id_sub = $_POST['id_rev'];
    $qtd = intval($_POST['quantidade']);
    $dados_sub = $conn_rev->query("SELECT login_rev FROM dados_rev WHERE id_rev = '$id_sub'")->fetch_assoc();
    $res_m = $conn_rev->query("SELECT creditos_rev FROM dados_rev WHERE id_rev = '$id_master'");
    $saldo_master = $res_m->fetch_assoc()['creditos_rev'];
    
    if($qtd <= 0){ $erro = "Quantidade inválida."; } 
    elseif($saldo_master < $qtd){ $erro = "Saldo Master insuficiente."; } 
    else {
        $conn_rev->query("UPDATE dados_rev SET creditos_rev = creditos_rev - $qtd WHERE id_rev = '$id_master'");
        $conn_rev->query("UPDATE dados_rev SET creditos_rev = creditos_rev + $qtd WHERE id_rev = '$id_sub'");
        gravarLogRevenda($nome_master_logado, "Transferiu Créditos", "Transferiu $qtd créditos para: ".$dados_sub['login_rev']);
        $sucesso_operacao = "Créditos adicionados!";
    }
}

// 3. REMOVER CRÉDITOS
if(isset($_GET['remover_creds'])){
    $id_sub = $_GET['remover_creds'];
    $dados_sub = $conn_rev->query("SELECT login_rev, creditos_rev FROM dados_rev WHERE id_rev = '$id_sub' AND id_pai = '$id_master'")->fetch_assoc();
    
    if($dados_sub && $dados_sub['creditos_rev'] > 0){
        $qtd_removida = $dados_sub['creditos_rev'];
        $conn_rev->query("UPDATE dados_rev SET creditos_rev = creditos_rev + $qtd_removida WHERE id_rev = '$id_master'");
        $conn_rev->query("UPDATE dados_rev SET creditos_rev = 0 WHERE id_rev = '$id_sub'");
        gravarLogRevenda($nome_master_logado, "Removeu Créditos", "Recolheu $qtd_removida créditos da sub: ".$dados_sub['login_rev']);
        $sucesso_operacao = "Créditos removidos!";
    }
}

// 4. EXCLUIR SUB-REVENDA
if(isset($_GET['excluir_sub'])){
    $id_sub = $_GET['excluir_sub'];
    $dados_sub = $conn_rev->query("SELECT login_rev, creditos_rev FROM dados_rev WHERE id_rev = '$id_sub' AND id_pai = '$id_master'")->fetch_assoc();
    
    if($dados_sub){
        // Devolve os créditos para o master antes de excluir
        if($dados_sub['creditos_rev'] > 0){
            $reembolso = $dados_sub['creditos_rev'];
            $conn_rev->query("UPDATE dados_rev SET creditos_rev = creditos_rev + $reembolso WHERE id_rev = '$id_master'");
        }
        $conn_rev->query("DELETE FROM dados_rev WHERE id_rev = '$id_sub'");
        gravarLogRevenda($nome_master_logado, "Excluiu Sub-Revenda", "Removeu permanentemente a sub: ".$dados_sub['login_rev']);
        $sucesso_operacao = "Sub-Revenda excluída!";
    }
}

$dados_m = $conn_rev->query("SELECT * FROM dados_rev WHERE id_rev = '$id_master'")->fetch_assoc();
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Minhas Sub-Revendas</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
    <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
    <style>
        html, body { background-color: #020617 !important; color: #e2e8f0 !important; font-family: 'Segoe UI', sans-serif; margin: 0; padding: 0; }
        .container { padding: 15px; max-width: 800px; margin: 0 auto; }
        .btn-voltar { color: #3b82f6; text-decoration: none; font-size: 0.8rem; font-weight: 800; text-transform: uppercase; display: flex; align-items: center; gap: 5px; margin-bottom: 15px; }
        .premium-header { background: linear-gradient(135deg, #0f172a 0%, #020617 100%); padding: 25px 20px; border-radius: 20px; border: 1px solid #1e293b; margin-bottom: 25px; }
        .welcome-text h1 { font-size: 1.4rem; font-weight: 800; color: #fff; margin: 0; }
        .saldo-box { margin-top: 10px; color: #22c55e; font-weight: 800; font-size: 0.9rem; }
        .card-premium { background: #070e1b; border: 1px solid #1e293b; border-radius: 18px; padding: 20px; margin-bottom: 25px; }
        .section-label { color: #3b82f6; font-size: 0.75rem; font-weight: 800; text-transform: uppercase; margin-bottom: 15px; display: block; }
        input { width: 100%; background: #0f172a; border: 1px solid #1e293b; border-radius: 12px; padding: 12px; margin-bottom: 12px; color: #fff; outline: none; box-sizing: border-box; }
        .btn-blue { width: 100%; background: #3b82f6; color: #fff; border: none; padding: 14px; border-radius: 12px; font-weight: 800; cursor: pointer; }
        .rev-card { background: #0f172a; border: 1px solid #1e293b; border-radius: 15px; padding: 15px; margin-bottom: 15px; }
        .rev-header { display: flex; justify-content: space-between; align-items: center; }
        .rev-name { font-weight: 800; color: #fff; }
        .rev-creds { color: #22c55e; font-weight: 800; }
        .add-creds-box { display: flex; gap: 10px; margin-top: 10px; padding-top: 10px; border-top: 1px solid rgba(255,255,255,0.05); }
        .btn-add { background: rgba(34, 197, 94, 0.1); color: #22c55e; border: 1px solid rgba(34, 197, 94, 0.2); padding: 8px 15px; border-radius: 8px; font-size: 0.75rem; font-weight: 800; cursor: pointer; }
        .rev-actions { display: flex; gap: 8px; margin-top: 10px; }
        .btn-action { flex: 1; padding: 8px; border-radius: 8px; font-size: 0.7rem; font-weight: 800; text-align: center; text-decoration: none; cursor: pointer; border: 1px solid transparent; }
        .btn-remove { background: rgba(245, 158, 11, 0.1); color: #f59e0b; border-color: rgba(245, 158, 11, 0.2); }
        .btn-delete { background: rgba(239, 68, 68, 0.1); color: #ef4444; border-color: rgba(239, 68, 68, 0.2); }
        .swal2-popup { background: #0f172a !important; color: #fff !important; border: 1px solid #1e293b !important; }
    </style>
</head>
<body>
<div class="container">
    <a href="dashboard_rev.php" class="btn-voltar"><i class="fas fa-arrow-left"></i> Voltar ao Painel</a>
    <div class="premium-header">
        <div class="welcome-text">
            <h1>Gestão de Sub-Revendas</h1>
            <div class="saldo-box">MEU SALDO: <?php echo $dados_m['creditos_rev']; ?> CRÉDITOS</div>
        </div>
    </div>
    <div class="card-premium">
        <span class="section-label">Cadastrar Novo Sub-Revendedor</span>
        <form method="POST">
            <input type="text" name="login_rev" placeholder="Login do Sub" required>
            <input type="password" name="senha_rev" placeholder="Senha do Sub" required>
            <button type="submit" name="cadastrar_sub" class="btn-blue">CRIAR ACESSO</button>
        </form>
    </div>
    <span class="section-label">Meus Sub-Revendedores</span>
    <?php
    $buscar = $conn_rev->query("SELECT * FROM dados_rev WHERE id_pai = '$id_master' ORDER BY id_rev DESC");
    if($buscar->num_rows == 0){ echo "<p style='font-size:0.8rem; color:#64748b;'>Nenhuma sub-revenda.</p>"; }
    while($item = $buscar->fetch_assoc()){
    ?>
        <div class="rev-card">
            <div class="rev-header">
                <div class="rev-name"><i class="fas fa-sitemap" style="color:#3b82f6"></i> <?php echo $item['login_rev']; ?></div>
                <div class="rev-creds"><?php echo $item['creditos_rev']; ?> Créditos</div>
            </div>
            <form method="POST" class="add-creds-box">
                <input type="hidden" name="id_rev" value="<?php echo $item['id_rev']; ?>">
                <input type="number" name="quantidade" placeholder="Qtd" style="margin-bottom:0; flex:1; padding:8px;" required>
                <button type="submit" name="add_credito_sub" class="btn-add"><i class="fas fa-plus"></i> ADD</button>
            </form>
            <div class="rev-actions">
                <a onclick="removerCreditos(<?php echo $item['id_rev']; ?>, '<?php echo $item['login_rev']; ?>')" class="btn-action btn-remove"><i class="fas fa-hand-holding-usd"></i> RECOLHER TUDO</a>
                <a onclick="excluirSub(<?php echo $item['id_rev']; ?>, '<?php echo $item['login_rev']; ?>')" class="btn-action btn-delete"><i class="fas fa-user-times"></i> EXCLUIR</a>
            </div>
        </div>
    <?php } ?>
</div>

<script>
const swalCfg = { background: '#0f172a', color:'#fff', confirmButtonColor: '#3b82f6', cancelButtonColor: '#1e293b' };

function removerCreditos(id, nome) {
    Swal.fire({ ...swalCfg, title: 'Recolher Créditos?', text: "Todo o saldo de " + nome + " voltará para você.", icon: 'warning', showCancelButton: true, confirmButtonText: 'SIM, RECOLHER', cancelButtonText: 'NÃO' })
    .then((r) => { if (r.isConfirmed) window.location.href = 'subrevendas_rev.php?remover_creds=' + id; });
}

function excluirSub(id, nome) {
    Swal.fire({ ...swalCfg, title: 'Excluir Sub-Revenda?', text: "Isso removerá o acesso de " + nome + " e devolverá o saldo dele para você.", icon: 'error', showCancelButton: true, confirmButtonText: 'SIM, EXCLUIR', cancelButtonText: 'CANCELAR' })
    .then((r) => { if (r.isConfirmed) window.location.href = 'subrevendas_rev.php?excluir_sub=' + id; });
}

<?php if(isset($sucesso_cadastro)): ?>
    Swal.fire({ ...swalCfg, icon: 'success', title: 'Criada!', timer: 1500, showConfirmButton: false });
<?php endif; ?>

<?php if(isset($sucesso_operacao)): ?>
    Swal.fire({ ...swalCfg, icon: 'success', title: 'Sucesso!', text: '<?php echo $sucesso_operacao; ?>', timer: 1500, showConfirmButton: false });
<?php endif; ?>

<?php if(isset($erro)): ?>
    Swal.fire({ ...swalCfg, icon: 'error', title: 'Erro', text: '<?php echo $erro; ?>' });
<?php endif; ?>
</script>
</body>
</html>
