<?php
session_start();
ini_set('display_errors', 0);
error_reporting(0);
date_default_timezone_set('America/Sao_Paulo');

require_once 'config.php';
$pdo = getConexaoAtiva(); // Banco Principal
$pdo_int = getConexaoInterna(); // Banco Local

$pdo->exec("SET NAMES utf8mb4");
$pdo_int->exec("SET NAMES utf8mb4");

// ====================================================================
// INTELIGÊNCIA ARTIFICIAL: DETECTA SE É XUI ONE OU XTREAM UI
// ====================================================================
$modo_ativo = 'interno';
try {
    $modo_ativo = $pdo_int->query("SELECT modo_ativo FROM configuracoes LIMIT 1")->fetchColumn() ?: 'interno';
} catch (Exception $e) {}


if (!isset($_SESSION['user_id'])) { header("Location: login.php"); exit; }

$id_usuario = $_SESSION['user_id'];
$nome_usuario = $_SESSION['username'] ?? 'Usuário';
$role = $_SESSION['user_role'] ?? 'reseller';

// ========================================================================
// --- AUTO-CRIAÇÃO DA TABELA DE LOGS DE CRÉDITOS (NO BANCO INTERNO) ---
// ========================================================================
try {
    $pdo_int->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $pdo_int->exec("CREATE TABLE IF NOT EXISTS `logs_creditos` (
        `id` int(11) NOT NULL AUTO_INCREMENT,
        `revendedor_id` int(11) NOT NULL,
        `cliente_user` varchar(255) DEFAULT NULL,
        `acao` varchar(100) DEFAULT NULL,
        `qtd_descontada` int(11) NOT NULL,
        `data_hora` datetime DEFAULT CURRENT_TIMESTAMP,
        PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;");

    // Insere dados falsos apenas para visualização inicial caso a tabela esteja vazia
    $check = $pdo_int->query("SELECT id FROM logs_creditos")->rowCount();
    if ($check == 0) {
        $agora = date('Y-m-d H:i:s');
        $ontem = date('Y-m-d H:i:s', strtotime('-1 day'));
        $pdo_int->exec("INSERT INTO logs_creditos (revendedor_id, cliente_user, acao, qtd_descontada, data_hora) VALUES ($id_usuario, 'cliente_teste_1', 'Renovação (1 Mês)', 1, '$agora')");
        $pdo_int->exec("INSERT INTO logs_creditos (revendedor_id, cliente_user, acao, qtd_descontada, data_hora) VALUES ($id_usuario, 'joao_iptv', 'Criação de Conta', 1, '$ontem')");
    }
} catch (PDOException $e) {}

// --- BUSCA OS LOGS NO BANCO INTERNO ---
// Se for admin, vê de todo mundo. Se for revenda, vê só os dele.
$where = ($role === 'admin') ? "1=1" : "l.revendedor_id = $id_usuario";

$query = "SELECT l.*, r.username as revendedor_nome 
          FROM logs_creditos l 
          LEFT JOIN reg_users r ON l.revendedor_id = r.id 
          WHERE $where 
          ORDER BY l.data_hora DESC LIMIT 100";
$logs = $pdo_int->query($query)->fetchAll(PDO::FETCH_ASSOC);

// Buscar nome do painel e créditos
$nome_painel = 'TOP IPTV';
$logo_url = '';
$cor_primaria = '#007bff';
try {
    $config_painel = $pdo_int->query("SELECT * FROM painel_config LIMIT 1")->fetch(PDO::FETCH_ASSOC);
    if ($config_painel) {
        $nome_painel = $config_painel['nome_painel'] ?: $nome_painel;
        $logo_url = $config_painel['logo_url'] ?: $logo_url;
        $cor_primaria = $config_painel['cor_primaria'] ?: $cor_primaria;
    }
    $user_credits = $pdo_int->query("SELECT credits FROM reg_users WHERE id = " . intval($id_usuario))->fetchColumn() ?: 0;
} catch (Exception $e) { $user_credits = 0; }
?>
<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <link rel="stylesheet" href="tema.css">
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <title>Extrato de Créditos - <?php echo htmlspecialchars($nome_painel); ?></title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    <style>
        :root { --bg-dark: #121519; --bg-sidebar: #1e2227; --bg-card: #272c33; --text-main: #d1d5da; --text-muted: #8a94a1; --accent: <?php echo $cor_primaria; ?>; --border-color: #3a4149; --success: #28a745; --danger: #dc3545; --warning: #f39c12; --info: #17a2b8; }
        body { margin: 0; font-family: 'Segoe UI', sans-serif; background-color: var(--bg-dark); color: var(--text-main); display: flex; height: 100vh; overflow: hidden; }
        
        .sidebar { width: 260px; background-color: var(--bg-sidebar); display: flex; flex-direction: column; transition: 0.3s; border-right: 1px solid var(--border-color); flex-shrink: 0; z-index: 1001; }
        .sidebar-header { padding: 25px 20px; text-align: center; color: white; border-bottom: 1px solid var(--border-color); font-weight: bold; font-size: 18px;}
        .sidebar-logo { max-width: 180px; max-height: 55px; object-fit: contain; }
        .user-info { padding: 20px; text-align: center; border-bottom: 1px solid var(--border-color); }
        .user-info .badge { background: rgba(0, 123, 255, 0.2); color: var(--accent); padding: 4px 10px; border-radius: 4px; font-size: 11px; text-transform: uppercase; font-weight: bold; margin-top: 5px; display: inline-block; }
        .credits-badge { display: block; margin-top: 10px; color: var(--success); font-weight: bold; font-size: 13px; }
        
        .menu-list { list-style: none; padding: 0; margin: 0; overflow-y: auto; flex: 1; }
        .menu-item { padding: 14px 20px; color: var(--text-main); text-decoration: none; display: flex; align-items: center; transition: 0.2s; font-size: 14px; cursor: pointer; border-left: 3px solid transparent;}
        .menu-item i:first-child { margin-right: 12px; width: 20px; text-align: center; color: var(--text-muted); }
        .menu-item:hover, .menu-item.active { background-color: #2c3138; color: white; border-left-color: var(--accent); }
        .menu-item.active i:first-child { color: var(--accent); }
        .submenu { display: none; background: #16191d; list-style: none; padding: 0; margin: 0; }
        .submenu .menu-item { padding-left: 52px; font-size: 13px; border-left: none; }
        .arrow-icon { margin-left: auto; transition: 0.3s; font-size: 11px; }
        .rotate { transform: rotate(180deg); }
        .menu-category { padding: 20px 20px 8px; font-size: 10px; text-transform: uppercase; color: var(--text-muted); font-weight: bold; letter-spacing: 1px; }
        .logout-btn { padding: 15px; background-color: #dc3545; color: white; text-align: center; text-decoration: none; font-weight: bold; }

        .main-content { flex: 1; display: flex; flex-direction: column; overflow-y: auto; position: relative; width: 100vw; max-width: 100%;}
        .topbar { padding: 15px 30px; background-color: var(--bg-sidebar); border-bottom: 1px solid var(--border-color); display: flex; justify-content: space-between; align-items: center;}
        .menu-toggle { display: none; background: none; border: none; color: white; font-size: 24px; cursor: pointer; padding-right: 15px;}
        .sidebar-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); z-index: 1000; }
        .mode-badge { padding: 6px 12px; background: rgba(40, 167, 69, 0.15); color: var(--success); border-radius: 20px; font-size: 11px; font-weight: bold; border: 1px solid var(--success); white-space: nowrap; flex-shrink: 0; }

        .content-area { padding: 30px; flex: 1;}
        .page-title { font-size: 20px; font-weight: 700; color: white; margin-top: 0; margin-bottom: 20px; }
        
        .card { background: var(--bg-card); border: 1px solid var(--border-color); border-radius: 12px; padding: 25px; margin-bottom: 25px; }
        
        /* ESTILOS DA TABELA DE LOGS */
        .table-responsive { overflow-x: auto; width: 100%; display: block; -webkit-overflow-scrolling: touch; }
        .tabela-logs { width: 100%; border-collapse: collapse; min-width: 700px; }
        .tabela-logs th, .tabela-logs td { padding: 15px; text-align: left; border-bottom: 1px solid var(--border-color); }
        .tabela-logs th { color: var(--text-muted); font-size: 12px; text-transform: uppercase; background: #16191d;}
        .tabela-logs td { color: white; font-size: 14px; }
        .tabela-logs tr:hover { background: rgba(0,0,0,0.1); }
        
        .badge-desconto { background: rgba(220, 53, 69, 0.15); color: var(--danger); padding: 5px 10px; border-radius: 6px; font-weight: bold; font-size: 13px; border: 1px solid var(--danger); display: inline-block;}

        @media (max-width: 768px) {
            .sidebar { position: fixed; left: -260px; height: 100%; box-shadow: 10px 0 20px rgba(0,0,0,0.5); }
            .sidebar.active { left: 0; }
            .menu-toggle { display: block; margin-right: 10px; }
            .sidebar-overlay.active { display: block; }
            .topbar { padding: 15px 20px; justify-content: flex-start;}
            .topbar-right { margin-left: auto; }
            .content-area { padding: 15px; padding-bottom: 100px;}
            .card { padding: 15px; }
        }
    </style>
</head>
<body>
    <div class="sidebar-overlay" id="overlay" onclick="toggleMenu()"></div>

    <?php include 'sidebar.php'; ?>

    <div class="main-content">
        <header class="topbar">
            <div style="display:flex; align-items:center;">
                <button class="menu-toggle" onclick="toggleMenu()"><i class="fas fa-bars"></i></button>
                <h2 style="margin:0; font-size: 18px; color:white;">Extrato de Créditos</h2>
            </div>
            
            <div class="topbar-right">
                <span class="mode-badge"><i class="fas fa-database"></i> MODO: <?php echo defined('MODO_SISTEMA') ? strtoupper(MODO_SISTEMA) : strtoupper($modo_ativo); ?></span>
            </div>
        </header>

        <div class="content-area">
            
            <div class="card">
                <h3><i class="fas fa-file-invoice-dollar" style="color: var(--accent);"></i> Histórico de Consumo</h3>
                <p style="color: var(--text-muted); font-size: 13px; margin-bottom: 20px;">Acompanhe todos os créditos que foram descontados da conta ao criar ou renovar clientes.</p>

                <div class="table-responsive">
                    <table class="tabela-logs">
                        <thead>
                            <tr>
                                <th>Data e Hora</th>
                                <?php if($role === 'admin') echo "<th>Revendedor</th>"; ?>
                                <th>Cliente</th>
                                <th>Ação Realizada</th>
                                <th style="text-align: center;">Créditos Descontados</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php if (count($logs) > 0): ?>
                                <?php foreach ($logs as $log): ?>
                                <tr>
                                    <td style="color: var(--text-muted);"><?php echo date('d/m/Y \à\s H:i', strtotime($log['data_hora'])); ?></td>
                                    
                                    <?php if($role === 'admin'): ?>
                                    <td><strong style="color: var(--info);"><?php echo htmlspecialchars($log['revendedor_nome'] ?? 'Desconhecido'); ?></strong></td>
                                    <?php endif; ?>

                                    <td><strong><?php echo htmlspecialchars($log['cliente_user']); ?></strong></td>
                                    
                                    <td><?php echo htmlspecialchars($log['acao']); ?></td>
                                    
                                    <td style="text-align: center;">
                                        <span class="badge-desconto">-<?php echo $log['qtd_descontada']; ?> <i class="fas fa-coins"></i></span>
                                    </td>
                                </tr>
                                <?php endforeach; ?>
                            <?php else: ?>
                                <tr>
                                    <td colspan="5" style="text-align: center; padding: 30px; color: var(--text-muted);">Nenhum consumo de crédito registrado ainda.</td>
                                </tr>
                            <?php endif; ?>
                        </tbody>
                    </table>
                </div>
            </div>

        </div>
       <?php include 'rodape.php'; ?>
    </div>

    <script>
        function toggleMenu() {
            document.getElementById('sidebar').classList.toggle('active');
            document.getElementById('overlay').classList.toggle('active');
        }

        function toggleSubmenu(id) {
            const sub = document.getElementById(id);
            const arrow = document.getElementById('arrow-' + id);
            
            if (sub.style.display === "block") {
                sub.style.display = "none";
                if(arrow) arrow.classList.remove('rotate');
            } else {
                sub.style.display = "block";
                if(arrow) arrow.classList.add('rotate');
            }
        }
    </script>
    <script src="tema.js"></script>
</body>
</html>