<?php
session_start();
require_once 'config.php'; 

$pdo = getConexaoAtiva();

// --- INÍCIO: BUSCA DE PERSONALIZAÇÃO DINÂMICA ---
$nome_painel = 'TOP IPTV';
$logo_url = '';
$cor_primaria = '#007bff';

try {
    $tabela_existe = $pdo->query("SHOW TABLES LIKE 'painel_config'")->rowCount() > 0;
    if ($tabela_existe) {
        $config_painel = $pdo->query("SELECT * FROM painel_config LIMIT 1")->fetch(PDO::FETCH_ASSOC);
        if ($config_painel) {
            $nome_painel = !empty($config_painel['nome_painel']) ? $config_painel['nome_painel'] : $nome_painel;
            $logo_url = !empty($config_painel['logo_url']) ? $config_painel['logo_url'] : $logo_url;
            $cor_primaria = !empty($config_painel['cor_primaria']) ? $config_painel['cor_primaria'] : $cor_primaria;
        }
    }
} catch (Exception $e) { }
// --- FIM: BUSCA DE PERSONALIZAÇÃO DINÂMICA ---

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

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

// BLOQUEIA ACESSO DE REVENDEDOR (Só Admin pode editar o template geral)
if ($role !== 'admin') { header("Location: dashboard.php"); exit; }

try {
    $user_credits = $pdo->query("SELECT credits FROM reg_users WHERE id = " . intval($user_id_logado))->fetchColumn() ?: 0;
} catch (Exception $e) { $user_credits = 0; }

// =========================================================================
// LÓGICA DO TEMPLATE (Salvar e Carregar)
// =========================================================================
$template_file = __DIR__ . '/template_mensagem.txt';
$template_revenda_file = __DIR__ . '/template_revenda.txt';
$template_creditos_file = __DIR__ . '/template_creditos.txt';
$swal_js = "";

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    if (isset($_POST['template_content'])) {
        if (@file_put_contents($template_file, $_POST['template_content']) !== false) {
            $swal_js = "Swal.fire({icon: 'success', title: 'Salvo!', text: 'Mensagem de Cliente atualizada com sucesso.', background: '#272c33', color: '#fff'});";
        } else {
            $swal_js = "Swal.fire({icon: 'error', title: 'Erro', text: 'Sem permissão para salvar template_mensagem.txt', background: '#272c33', color: '#fff'});";
        }
    }
    elseif (isset($_POST['template_revenda'])) {
        if (@file_put_contents($template_revenda_file, $_POST['template_revenda']) !== false) {
            $swal_js = "Swal.fire({icon: 'success', title: 'Salvo!', text: 'Mensagem de Revenda atualizada com sucesso.', background: '#272c33', color: '#fff'});";
        } else {
            $swal_js = "Swal.fire({icon: 'error', title: 'Erro', text: 'Sem permissão para salvar template_revenda.txt', background: '#272c33', color: '#fff'});";
        }
    }
    elseif (isset($_POST['template_creditos'])) {
        if (@file_put_contents($template_creditos_file, $_POST['template_creditos']) !== false) {
            $swal_js = "Swal.fire({icon: 'success', title: 'Salvo!', text: 'Mensagem de Créditos atualizada com sucesso.', background: '#272c33', color: '#fff'});";
        } else {
            $swal_js = "Swal.fire({icon: 'error', title: 'Erro', text: 'Sem permissão para salvar template_creditos.txt', background: '#272c33', color: '#fff'});";
        }
    }
}

// Carrega os conteúdos ou os padrões
$padrao_cliente = "Seu Acesso foi criado com sucesso!\n\n✅ *Usuário:* #username#\n✅ *Senha:* #password#\n🗓 *Valido até:* #exp_date#\n📺 *Telas:* #telas#\n\n--------------------------------------\n\n🟢 *Link M3U:* #m3u_encurtado#\n🟣 *Link HLS:* #m3u_hls_encurtado#\n📺 *Link SSIPTV:* #ssiptv_encurtado#\n🟣 *Link ROKU:* #roku_encurtado#";
$template_content = file_exists($template_file) ? file_get_contents($template_file) : $padrao_cliente;

$padrao_revenda = "🚀 *DADOS DO REVENDEDOR*\n\n🔗 *Painel:* #link_painel#\n👤 *Usuário:* #username#\n🔑 *Senha:* #password#";
$template_revenda = file_exists($template_revenda_file) ? file_get_contents($template_revenda_file) : $padrao_revenda;

$padrao_creditos = "✅ *CRÉDITOS ADICIONADOS*\n\nOlá *#username#*, foram adicionados *#qtd#* créditos na sua conta de Revenda!\n\nBoas vendas! 🚀";
$template_creditos = file_exists($template_creditos_file) ? file_get_contents($template_creditos_file) : $padrao_creditos;

?>
<!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>Editor de Template - <?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">
    <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
    <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; --info: #0d6efd; --warning: #f39c12;}
        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 */
        .sidebar { width: 260px; background-color: var(--bg-sidebar); display: flex; flex-direction: column; transition: 0.3s; border-right: 1px solid var(--border-color); z-index: 1001; flex-shrink: 0; }
        .sidebar-header { padding: 25px 20px; text-align: center; font-size: 22px; font-weight: bold; color: white; border-bottom: 1px solid var(--border-color); }
        .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(255, 255, 255, 0.05); 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; border-left: 3px solid transparent; font-size: 14px; cursor: pointer; }
        .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; margin-top: auto;}

        /* MAIN CONTENT */
        .main-content { flex: 1; display: flex; flex-direction: column; overflow-y: auto; width: 100%; position: relative; }
        .topbar { display: flex; justify-content: space-between; align-items: center; padding: 15px 30px; background-color: var(--bg-sidebar); border-bottom: 1px solid var(--border-color); }
        .menu-toggle { display: none; background: none; border: none; color: white; font-size: 22px; cursor: pointer; padding: 5px; }
        .mode-badge { padding: 6px 15px; background: rgba(40, 167, 69, 0.15); color: var(--success); border-radius: 20px; font-size: 12px; font-weight: bold; border: 1px solid var(--success); }
        .content-area { padding: 30px; flex: 1; overflow-x: hidden;}
        
        .page-header { margin-bottom: 25px; border-bottom: 1px solid var(--border-color); padding-bottom: 15px; }
        .page-header h3 { font-size: 24px; color: white; margin: 0 0 5px 0; display: flex; align-items: center; gap: 10px; }
        .page-header p { color: var(--text-muted); margin: 0; font-size: 14px; }

        /* LAYOUT EDITOR TABS */
        .tab-container { display: flex; gap: 10px; margin-bottom: 20px; flex-wrap: wrap;}
        .tab-btn { background: var(--bg-sidebar); color: white; border: 1px solid var(--border-color); padding: 12px 20px; font-size: 14px; border-radius: 8px; cursor: pointer; font-weight: bold; flex: 1; transition: 0.2s;}
        .tab-btn.active { background: var(--accent); border-color: var(--accent); }
        .tab-btn:hover { filter: brightness(1.1); }
        .tab-content { display: none; animation: fadeIn 0.3s; }
        .tab-content.active { display: block; }
        @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

        .editor-container { display: flex; gap: 25px; flex-wrap: wrap; }
        .editor-box { flex: 1 1 55%; min-width: 300px; background: var(--bg-card); border: 1px solid var(--border-color); border-radius: 10px; padding: 20px; }
        .vars-box { flex: 1 1 40%; min-width: 300px; background: var(--bg-card); border: 1px solid var(--border-color); border-radius: 10px; padding: 20px; align-self: flex-start; }

        .box-title { font-size: 16px; color: white; font-weight: bold; margin: 0 0 15px 0; display: flex; align-items: center; gap: 8px; }
        .box-title.blue { color: var(--info); }
        .box-title.green { color: var(--success); }
        .box-title.yellow { color: var(--warning); }

        textarea.form-control { width: 100%; padding: 15px; background: #121519; border: 1px solid var(--border-color); color: white; border-radius: 8px; box-sizing: border-box; font-family: monospace; font-size: 14px; resize: vertical; line-height: 1.5; outline: none; }
        textarea.form-control:focus { border-color: var(--accent); }

        .btn-save { background: var(--accent); color: white; border: none; padding: 15px 30px; font-size: 16px; font-weight: bold; border-radius: 8px; cursor: pointer; width: 100%; margin-top: 20px; transition: 0.2s; display: flex; justify-content: center; align-items: center; gap: 10px; }
        .btn-save:hover { filter: brightness(1.1); }

        /* TABELA DE VARIÁVEIS */
        .var-table { width: 100%; border-collapse: collapse; }
        .var-table th { background: rgba(0,0,0,0.2); padding: 10px 15px; text-align: left; font-size: 12px; color: var(--text-muted); text-transform: uppercase; border-bottom: 1px solid var(--border-color); }
        .var-table td { padding: 12px 15px; border-bottom: 1px solid var(--border-color); font-size: 13px; vertical-align: middle; }
        .var-table tr.category td { background: rgba(255,255,255,0.02); font-weight: bold; color: white; padding: 8px 15px; text-transform: uppercase; font-size: 11px; letter-spacing: 1px; }
        
        .variable-btn { font-family: monospace; background-color: rgba(13, 110, 253, 0.15); color: #6ea8fe; padding: 6px 10px; border-radius: 6px; cursor: pointer; user-select: all; font-weight: bold; transition: all 0.2s; display: inline-block; border: 1px solid rgba(13, 110, 253, 0.3); }
        .variable-btn:hover { background-color: rgba(13, 110, 253, 0.3); transform: scale(1.05); }

        .sidebar-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); z-index: 1000; }

        @media (max-width: 768px) {
            .menu-toggle { display: block; }
            .sidebar { position: fixed; left: -260px; height: 100%; box-shadow: 10px 0 20px rgba(0,0,0,0.5); }
            .sidebar.active { left: 0; }
            .sidebar-overlay.active { display: block; }
            .topbar { padding: 15px; }
            /* ESPAÇAMENTO ADICIONADO ABAIXO PARA O CELULAR (150px) */
            .content-area { padding: 15px; padding-bottom: 150px; }
            .editor-container { flex-direction: column; }
        }
    </style>
</head> <body style="display:flex; flex-direction:row;"> <div class="sidebar-overlay" id="overlay" onclick="toggleMenu()"></div> <?php include 'sidebar.php'; ?>

    <div class="main-content">
        <header class="topbar">
            <button class="menu-toggle" onclick="toggleMenu()"><i class="fas fa-bars"></i></button>
            <h2 style="margin:0; font-size: 18px; color:white;">Personalização</h2>
            <div class="topbar-right">
                <span class="mode-badge"><i class="fas fa-database"></i> <?php echo defined('MODO_SISTEMA') ? strtoupper(MODO_SISTEMA) : 'INTERNO'; ?></span>
            </div>
        </header>

        <div class="content-area">
            <div class="page-header">
                <h3><i class="fas fa-edit"></i> Editor de Template de Mensagens</h3>
                <p>Edite os textos padrões que o sistema envia ao WhatsApp. Cada botão abaixo corresponde a uma tela diferente.</p>
            </div>

            <div class="tab-container">
                <button class="tab-btn active" onclick="switchTab('cliente')"><i class="fas fa-users"></i> Mensagem Padrão (Clientes)</button>
                <button class="tab-btn" onclick="switchTab('revenda')"><i class="fas fa-user-tie"></i> Criar Revendedor</button>
                <button class="tab-btn" onclick="switchTab('creditos')"><i class="fas fa-coins"></i> Adição de Créditos</button>
            </div>

            <div id="tab-cliente" class="tab-content active">
                <div class="editor-container">
                    <div class="editor-box">
                        <h5 class="box-title blue"><i class="fab fa-whatsapp"></i> Clientes IPTV e Testes</h5>
                        <form method="POST" action="">
                            <textarea name="template_content" id="txt-cliente" class="form-control" rows="18"><?php echo htmlspecialchars($template_content); ?></textarea>
                            <button type="submit" class="btn-save"><i class="fas fa-save"></i> SALVAR TEMPLATE (CLIENTE)</button>
                        </form>
                    </div>

                    <div class="vars-box">
                        <h5 class="box-title green"><i class="fas fa-code"></i> Variáveis (Clientes)</h5>
                        <p style="font-size: 13px; color: var(--text-muted); margin-top: 0;">Clique para injetar.</p>
                        
                        <div style="overflow-x: auto;">
                            <table class="var-table">
                                <thead><tr><th>Tag (Clique)</th><th>O que ela faz?</th></tr></thead>
                                <tbody>
                                    <tr class="category"><td colspan="2">Dados Principais</td></tr>
                                    <tr><td><span class="variable-btn" onclick="insertVar('txt-cliente', '#username#')">#username#</span></td><td>Usuário</td></tr>
                                    <tr><td><span class="variable-btn" onclick="insertVar('txt-cliente', '#password#')">#password#</span></td><td>Senha</td></tr>
                                    <tr><td><span class="variable-btn" onclick="insertVar('txt-cliente', '#exp_date#')">#exp_date#</span></td><td>Vencimento</td></tr>
                                    <tr><td><span class="variable-btn" onclick="insertVar('txt-cliente', '#telas#')">#telas#</span></td><td>Qtd de Conexões</td></tr>
                                    <tr><td><span class="variable-btn" onclick="insertVar('txt-cliente', '#url#')">#url#</span></td><td>DNS (IP) do Painel</td></tr>
                                    
                                    <tr class="category"><td colspan="2">Links de Lista (Oficiais)</td></tr>
                                    <tr><td><span class="variable-btn" onclick="insertVar('txt-cliente', '#m3u_completo#')">#m3u_completo#</span></td><td>Link M3U Completo (get.php)</td></tr>
                                    
                                    <tr class="category"><td colspan="2">Links Encurtados</td></tr>
                                    <tr><td><span class="variable-btn" onclick="insertVar('txt-cliente', '#m3u_encurtado#')">#m3u_encurtado#</span></td><td>M3U TS</td></tr>
                                    <tr><td><span class="variable-btn" onclick="insertVar('txt-cliente', '#m3u_hls_encurtado#')">#m3u_hls_encurtado#</span></td><td>HLS (M3U8)</td></tr>
                                    <tr><td><span class="variable-btn" onclick="insertVar('txt-cliente', '#ssiptv_encurtado#')">#ssiptv_encurtado#</span></td><td>SSIPTV</td></tr>
                                    <tr><td><span class="variable-btn" onclick="insertVar('txt-cliente', '#roku_encurtado#')">#roku_encurtado#</span></td><td>Roku</td></tr>
                                </tbody>
                            </table>
                        </div>
                    </div>
                </div>
                <?php include 'rodape.php'; ?>
            </div>
            
            <div id="tab-revenda" class="tab-content">
                <div class="editor-container">
                    <div class="editor-box">
                        <h5 class="box-title yellow"><i class="fab fa-whatsapp"></i> Criar Revendedor</h5>
                        <form method="POST" action="">
                            <textarea name="template_revenda" id="txt-revenda" class="form-control" rows="18"><?php echo htmlspecialchars($template_revenda); ?></textarea>
                            <button type="submit" class="btn-save" style="background:var(--warning); color:#111;"><i class="fas fa-save"></i> SALVAR TEMPLATE (REVENDA)</button>
                        </form>
                    </div>

                    <div class="vars-box">
                        <h5 class="box-title green"><i class="fas fa-code"></i> Variáveis (Revendedor)</h5>
                        <p style="font-size: 13px; color: var(--text-muted); margin-top: 0;">Clique para injetar.</p>
                        
                        <div style="overflow-x: auto;">
                            <table class="var-table">
                                <thead><tr><th>Tag (Clique)</th><th>O que ela faz?</th></tr></thead>
                                <tbody>
                                    <tr class="category"><td colspan="2">Dados Principais</td></tr>
                                    <tr><td><span class="variable-btn" onclick="insertVar('txt-revenda', '#username#')">#username#</span></td><td>Usuário do Painel</td></tr>
                                    <tr><td><span class="variable-btn" onclick="insertVar('txt-revenda', '#password#')">#password#</span></td><td>Senha de Acesso</td></tr>
                                    <tr><td><span class="variable-btn" onclick="insertVar('txt-revenda', '#link_painel#')">#link_painel#</span></td><td>Link de acesso ao painel</td></tr>
                                </tbody>
                            </table>
                        </div>
                    </div>
                </div>
            </div>

            <div id="tab-creditos" class="tab-content">
                <div class="editor-container">
                    <div class="editor-box">
                        <h5 class="box-title green"><i class="fab fa-whatsapp"></i> Transferência de Créditos</h5>
                        <form method="POST" action="">
                            <textarea name="template_creditos" id="txt-creditos" class="form-control" rows="18"><?php echo htmlspecialchars($template_creditos); ?></textarea>
                            <button type="submit" class="btn-save" style="background:var(--success);"><i class="fas fa-save"></i> SALVAR TEMPLATE (CRÉDITOS)</button>
                        </form>
                    </div>

                    <div class="vars-box">
                        <h5 class="box-title green"><i class="fas fa-code"></i> Variáveis (Créditos)</h5>
                        <p style="font-size: 13px; color: var(--text-muted); margin-top: 0;">Clique para injetar.</p>
                        
                        <div style="overflow-x: auto;">
                            <table class="var-table">
                                <thead><tr><th>Tag (Clique)</th><th>O que ela faz?</th></tr></thead>
                                <tbody>
                                    <tr class="category"><td colspan="2">Dados do Depósito</td></tr>
                                    <tr><td><span class="variable-btn" onclick="insertVar('txt-creditos', '#username#')">#username#</span></td><td>Nome do Revendedor que recebeu</td></tr>
                                    <tr><td><span class="variable-btn" onclick="insertVar('txt-creditos', '#qtd#')">#qtd#</span></td><td>Quantidade Adicionada</td></tr>
                                </tbody>
                            </table>
                        </div>
                    </div>
                </div>
            </div>

        </div>
    </div>

    <?php if (!empty($swal_js)): ?>
        <script>
            document.addEventListener('DOMContentLoaded', function() {
                <?php echo $swal_js; ?>
            });
        </script>
    <?php endif; ?>

    <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'); }
        }

        // SISTEMA DE ABAS (TABS)
        function switchTab(tabId) {
            document.querySelectorAll('.tab-content').forEach(c => c.classList.remove('active'));
            document.querySelectorAll('.tab-btn').forEach(b => b.classList.remove('active'));
            document.getElementById('tab-' + tabId).classList.add('active');
            event.currentTarget.classList.add('active');
        }

        // FUNÇÃO DE INSERIR A VARIÁVEL
        function insertVar(textareaId, textToInsert) {
            const textarea = document.getElementById(textareaId);
            const startPos = textarea.selectionStart;
            const endPos = textarea.selectionEnd;
            const text = textarea.value;
            
            textarea.value = text.substring(0, startPos) + textToInsert + text.substring(endPos);
            textarea.focus();
            const newPos = startPos + textToInsert.length;
            textarea.selectionStart = newPos;
            textarea.selectionEnd = newPos;
        }
    </script>
    <script src="tema.js"></script>
</body>
</html>