<?php
// header.php
// Verificar se a sessão está ativa
if (session_status() === PHP_SESSION_NONE) {
    session_start();
}

// Verificar se estamos na página index.php
$current_page = basename($_SERVER['PHP_SELF']);
$is_index_page = ($current_page === 'index.php');

// Inicializar variáveis para o funil e logo
$funil_info = ['nome' => 'Funil Principal'];
$funis_disponiveis = [];
$tenant_logo = null; // Inicializar variável para logo do tenant

// Verificar se o usuário está logado
$usuario_logado = isset($_SESSION['logado']) && $_SESSION['logado'] === true;

if ($usuario_logado) {
    require_once 'conexao.php'; // Incluir o arquivo de conexão uma vez
    
    $tenant_id = $_SESSION['tenant_id'] ?? null;
    $usuario_id = $_SESSION['usuario_id'] ?? null;
    $permissao = $_SESSION['permissao'] ?? 'usuario';
    $is_admin = ($permissao === 'admin');
    $is_super_admin = ($permissao === 'super_admin');
    
    if ($tenant_id) {
        // Buscar logo do tenant (para todas as páginas)
        try {
            $logo_stmt = $conn->prepare("SELECT logo_path FROM tenants WHERE id = ?");
            $logo_stmt->bind_param("i", $tenant_id);
            $logo_stmt->execute();
            $logo_result = $logo_stmt->get_result();
            
            if ($logo_row = $logo_result->fetch_assoc()) {
                $tenant_logo = $logo_row['logo_path'];
                
                // Verificar se o arquivo existe
                if ($tenant_logo && file_exists($tenant_logo)) {
                    // Logo válido, manter como está
                } else {
                    $tenant_logo = null;
                    // Opcional: limpar o campo no banco se o arquivo não existir
                    $update_stmt = $conn->prepare("UPDATE tenants SET logo_path = NULL WHERE id = ?");
                    $update_stmt->bind_param("i", $tenant_id);
                    $update_stmt->execute();
                }
            }
        } catch (Exception $e) {
            error_log("Erro ao buscar logo do tenant: " . $e->getMessage());
            $tenant_logo = null;
        }
        
        // Se estiver na página index, buscar também informações do funil
        if ($is_index_page && $usuario_id) {
            // Obter funis que o usuário pode visualizar
            if ($is_admin || $is_super_admin) {
                $stmt = $conn->prepare("SELECT id, nome, padrao FROM funis WHERE tenant_id = ? AND ativo = TRUE ORDER BY nome ASC");
                $stmt->bind_param("i", $tenant_id);
            } else {
                $stmt = $conn->prepare("SELECT f.id, f.nome, f.padrao FROM funis f 
                                       JOIN permissoes_funis pf ON f.id = pf.funil_id 
                                       WHERE f.tenant_id = ? AND pf.usuario_id = ? AND pf.visualizar = 1 AND f.ativo = TRUE
                                       ORDER BY f.nome ASC");
                $stmt->bind_param("ii", $tenant_id, $usuario_id);
            }
            
            $stmt->execute();
            $result = $stmt->get_result();
            while ($row = $result->fetch_assoc()) {
                $funis_disponiveis[] = $row;
            }
            
            // Obter o funil ativo
            $funil_id = $_GET['funil'] ?? $_SESSION['funil_ativo'] ?? null;
            
            // Se não foi especificado um funil válido, pegar o padrão ou o primeiro disponível
            if (!$funil_id && !empty($funis_disponiveis)) {
                foreach ($funis_disponiveis as $funil) {
                    if ($funil['padrao']) {
                        $funil_id = $funil['id'];
                        break;
                    }
                }
                
                if (!$funil_id) {
                    foreach ($funis_disponiveis as $funil) {
                        if (strtolower($funil['nome']) === 'funil padrao' || strtolower($funil['nome']) === 'funil padrão') {
                            $funil_id = $funil['id'];
                            break;
                        }
                    }
                }
                
                if (!$funil_id) {
                    $funil_id = $funis_disponiveis[0]['id'];
                }
            }
            
            // Obter nome do funil ativo
            if ($funil_id) {
                $sql_funil = "SELECT nome FROM funis WHERE id = ?";
                $stmt_funil = $conn->prepare($sql_funil);
                $stmt_funil->bind_param("i", $funil_id);
                $stmt_funil->execute();
                $result_funil = $stmt_funil->get_result();
                $funil_info = $result_funil->fetch_assoc() ?? ['nome' => 'Funil Principal'];
            }
        }
    }
}
?>
<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>SON - Dashboard Analítico</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/chart.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-datalabels@2.0.0"></script>
    <script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-annotation@1.0.2"></script>
    <style>
        :root {
            --primary-color: #3498db;
            --secondary-color: #2c3e50;
            --accent-color: #e74c3c;
            --success-color: #2ecc71;
            --warning-color: #f39c12;
            --light-color: #ecf0f1;
            --dark-color: #2c3e50;
            --gray-color: #95a5a6;
        }

        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            margin: 0;
            padding: 0;
            background-color: #f5f7fa;
            color: #333;
            line-height: 1.6;
        }

        .header-fixed {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            background-color: white;
            padding: 5px 20px;
            z-index: 1000;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            display: flex;
            justify-content: space-between;
            align-items: center;
            height: 70px;
        }
        
        .header-left {
            display: flex;
            align-items: center;
            gap: 15px;
        }
        
        .header-fixed img {
            height: 40px;
            margin-right: 15px;
        }
        
        .header-title {
            margin: 0;
            flex-grow: 1;
            text-align: center;
            color: var(--secondary-color);
            font-size: 1.5rem;
            font-weight: 600;
        }
        
        .user-initial {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: #ccc;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: bold;
            font-size: 1.2em;
        }
        
        .permission-badge {
            display: inline-block;
            padding: 4px 10px;
            border-radius: 20px;
            font-size: 0.8em;
            font-weight: 600;
        }
        
        .permission-admin {
            background-color: var(--primary-color);
            color: white;
        }
        
        .permission-user {
            background-color: var(--gray-color);
            color: white;
        }
        
        .permission-super-admin {
            background-color: var(--accent-color);
            color: white;
        }

        /* Menu do usuário no cabeçalho */
        .user-menu-container {
            position: relative;
            display: inline-block;
        }

        .user-info {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 8px 12px;
            cursor: pointer;
            border-radius: 6px;
            transition: background-color 0.3s;
        }

        .user-info:hover {
            background-color: #f5f5f5;
        }

        .user-dropdown {
            position: absolute;
            top: 100%;
            right: 0;
            background: white;
            border: 1px solid #ddd;
            border-radius: 6px;
            box-shadow: 0 4px 15px rgba(0,0,0,0.15);
            min-width: 180px;
            display: none;
            z-index: 1100;
            overflow: hidden;
        }

        .user-dropdown.show {
            display: block;
        }

        .user-dropdown a {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 12px 15px;
            text-decoration: none;
            color: #333;
            border-bottom: 1px solid #eee;
            transition: background-color 0.2s;
        }

        .user-dropdown a:hover {
            background-color: #f8f9fa;
        }

        .user-dropdown a:last-child {
            border-bottom: none;
            color: var(--accent-color);
        }

        .user-dropdown a:last-child:hover {
            background-color: #ffeaea;
        }

        .user-dropdown i {
            width: 16px;
            text-align: center;
        }

        /* Estilo para o logo do tenant */
        .tenant-logo-container {
            margin-left: 15px;
            padding-left: 15px;
            border-left: 1px solid #eee;
        }

        .tenant-logo {
            width: 40px;
            height: 40px;
            border-radius: 6px;
            object-fit: cover;
            border: 2px solid #fff;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        }

        /* Estilos para o seletor de funil */
        .funil-selector {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 5px 15px;
            background: #f8f9fa;
            border-radius: 8px;
            border: 1px solid #e9ecef;
        }

        .funil-selector h3 {
            margin: 0;
            font-size: 1em;
            color: #495057;
            font-weight: 600;
        }

        .funil-selector strong {
            color: var(--primary-color);
        }

        .funil-button {
            padding: 6px 12px;
            background: var(--primary-color);
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-size: 0.9em;
            font-weight: 600;
            transition: background-color 0.3s;
        }

        .funil-button:hover {
            background: #2980b9;
        }

        .funil-dropdown {
            position: absolute;
            top: 100%;
            left: 0;
            background: white;
            border: 1px solid #ddd;
            border-radius: 6px;
            box-shadow: 0 4px 15px rgba(0,0,0,0.1);
            min-width: 200px;
            display: none;
            z-index: 1100;
            overflow: hidden;
        }

        .funil-dropdown.show {
            display: block;
        }

        .funil-dropdown a {
            display: block;
            padding: 10px 15px;
            text-decoration: none;
            color: #333;
            border-bottom: 1px solid #eee;
            transition: background-color 0.2s;
        }

        .funil-dropdown a:hover {
            background-color: #f8f9fa;
            color: var(--primary-color);
        }

        .funil-dropdown a:last-child {
            border-bottom: none;
        }

        /* Novos estilos para os elementos do header */
        .header-center {
            flex: 1;
            display: flex;
            justify-content: center;
            align-items: center;
            margin: 0 20px;
        }

        .header-right {
            display: flex;
            align-items: center;
            gap: 15px;
        }

        .filtros-container {
            display: flex;
            align-items: center;
            gap: 20px;
            padding: 8px 15px;
            background: #f8f9fa;
            border-radius: 8px;
            border: 1px solid #e9ecef;
        }

        .filtros-section {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .filtros-label {
            font-weight: 600;
            color: #495057;
            font-size: 0.9em;
            margin-right: 5px;
        }

        .filtro-btn {
            padding: 8px 12px;
            border: 1px solid #dee2e6;
            background: white;
            border-radius: 6px;
            cursor: pointer;
            transition: all 0.3s ease;
            color: #6c757d;
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
        }

        .filtro-btn:hover {
            background: #e9ecef;
            transform: translateY(-1px);
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        }

        .filtro-btn.active {
            background: var(--primary-color);
            color: white;
            border-color: var(--primary-color);
        }

        .filtro-status-atrasada.active {
            background: var(--accent-color);
            border-color: var(--accent-color);
        }

        .filtro-status-hoje.active {
            background: var(--warning-color);
            border-color: var(--warning-color);
        }

        .filtro-status-concluida.active {
            background: var(--success-color);
            border-color: var(--success-color);
        }
        
        /* CORREÇÃO DA TOOLTIP - Versão melhorada */
        .tooltip {
            position: relative;
            display: inline-block;
            overflow: visible; /* evita corte da legenda */
        }

        .tooltip::after {
            content: attr(data-tooltip);
            position: absolute;
            bottom: auto;
            top: calc(100% + 8px);
            border-top: none;
            border-bottom: 15px solid #333; /* seta aponta para cima */
            left: 50%;
            transform: translateX(-50%);
            background: #333;
            color: #fff;
            padding: 6px 10px;
            border-radius: 4px;
            font-size: 0.75rem;
            white-space: nowrap;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.2s ease, transform 0.2s ease;
            pointer-events: none;
            z-index: 1000;
        }

        .tooltip::before {
            content: '';
            position: absolute;
            bottom: 100%; /* seta encosta na base do tooltip */
            left: 50%;
            transform: translateX(-50%);
            border-left: 6px solid transparent;
            border-right: 6px solid transparent;
            border-top: 6px solid #333; /* seta apontando para baixo */
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.2s ease;
            pointer-events: none;
        }

        .tooltip:hover::after,
        .tooltip:hover::before {
            opacity: 1;
            visibility: visible;
        }

        .search-wrapper {
            position: relative;
            min-width: 250px;
        }

        #pesquisaCliente {
            padding: 8px 35px 8px 12px;
            border: 1px solid #ddd;
            border-radius: 6px;
            font-size: 0.9em;
            width: 100%;
        }

        #contadorResultados {
            position: absolute;
            right: 10px;
            top: 50%;
            transform: translateY(-50%);
            background: var(--primary-color);
            color: white;
            padding: 2px 8px;
            border-radius: 10px;
            font-size: 0.7em;
            font-weight: bold;
            display: none;
            min-width: 20px;
            text-align: center;
        }
    </style>
</head>
<body>
    <div class="header-fixed">
        <div class="header-left">
            <img src="tvitec.png" alt="Logo TVITEC" style="height:60px; margin-right: 15px;">
            
            <?php if ($is_index_page): ?>
            <div class="funil-selector">
                <h3>Funil: <strong><?php echo htmlspecialchars($funil_info['nome']); ?></strong></h3>
                <div style="position: relative;">
                    <button class="funil-button" onclick="toggleFunilDropdown()">
                        Trocar ▼
                    </button>
                    <div id="funilDropdown" class="funil-dropdown">
                        <?php foreach ($funis_disponiveis as $funil): ?>
                            <a href="index.php?funil=<?php echo $funil['id']; ?>"><?php echo htmlspecialchars($funil['nome']); ?></a>
                        <?php endforeach; ?>
                    </div>
                </div>
            </div>
            <?php endif; ?>
        </div>

        <?php if ($is_index_page): ?>
            <div class="header-center">
                <!-- Filtros de Atividade - MAIS ESPAÇADOS -->
                <div class="filtros-container">
                    <!-- Filtros por Status -->
                    <div class="filtros-section">
                        <span class="filtros-label">Status:</span>
                        <button class="filtro-btn filtro-status-atrasada tooltip" data-status="atrasada" data-tooltip="Atrasadas">
                            <i class="fas fa-exclamation-triangle"></i>
                        </button>
                        <button class="filtro-btn filtro-status-hoje tooltip" data-status="hoje" data-tooltip="Para Hoje">
                            <i class="fas fa-clock"></i>
                        </button>
                        <button class="filtro-btn filtro-status-futura tooltip" data-status="futura" data-tooltip="Futuras">
                            <i class="fas fa-calendar"></i>
                        </button>
                        <button class="filtro-btn filtro-status-concluida tooltip" data-status="concluida" data-tooltip="Concluídas">
                            <i class="fas fa-check"></i>
                        </button>
                        <button class="filtro-btn filtro-status-pendente tooltip" data-status="pendente" data-tooltip="Pendentes">
                            <i class="fas fa-list"></i>
                        </button>
                        <button class="filtro-btn filtro-tipo-outros tooltip" data-status="todos" data-tooltip="Mostrar Todos">
                            <i class="fas fa-eye"></i>
                        </button>
                    </div>
                </div>
            </div>

            <div class="header-right">
                <div class="search-wrapper">
                    <input type="text" id="pesquisaCliente" placeholder="Pesquisar clientes..." style="width: 100%;">
                    <span id="contadorResultados"></span>
                </div>
            </div>
        <?php else: ?>
            <!-- Espaço vazio quando não estiver na index para manter o layout -->
            <div class="header-center" style="flex: 1;"></div>
            <div class="header-right" style="min-width: 250px;"></div>
        <?php endif; ?>

        <div class="user-menu-container">
            <div class="user-info" id="userMenuTrigger">
                <?php
                $permissao = $_SESSION['permissao'] ?? 'usuario';
                $nome = $_SESSION['nome_usuario'] ?? 'Usuário';
                ?>
                
                <div style="text-align:left;">
                    <div style="font-weight: bold; color: #333; font-size: 1.1em;">
                        <?php echo htmlspecialchars($nome); ?>
                    </div>
                    <div style="font-size: 0.9em; color: #555;">
                        <?php echo htmlspecialchars($_SESSION['email_usuario'] ?? ''); ?>
                    </div>
                </div>
                
                <!-- Exibir logo do tenant se existir -->
                <?php if ($tenant_logo && file_exists($tenant_logo)): ?>
                    <div class="tenant-logo-container">
                        <img src="<?php echo htmlspecialchars($tenant_logo); ?>" alt="Logo Tenant" class="tenant-logo">
                    </div>
                <?php endif; ?>
                
                <i class="fas fa-chevron-down" style="font-size: 0.9em; color: #777;"></i>
            </div>
            <div class="user-dropdown" id="userDropdown">
                <!-- Adicionar opção de upload de logo para administradores -->
                <?php 
                $permissao = $_SESSION['permissao'] ?? 'usuario';
                if (in_array($permissao, ['admin', 'super_admin'])): 
                ?>
                    <a href="javascript:void(0);" onclick="openLogoUpload()"><i class="fas fa-image"></i> Alterar Logo</a>
                <?php endif; ?>
                <a href="perfil_usuario.php"><i class="fas fa-id-card"></i> Perfil</a>
                <a href="suporte.php"><i class="fas fa-headset"></i> Suporte</a>
                <a href="logout.php"><i class="fas fa-sign-out-alt"></i> Sair</a>
            </div>
        </div>
    </div>