<?php
/**
 * lib/header.php — Cabecera común del panel (shell Vvveb: nav lateral + apertura del layout).
 *
 * Las páginas de admin la incluyen tras require_login().
 * Variable opcional $pageTitle para el <title> y la cabecera.
 *
 * Re-skin: tema Vvveb (Bootstrap 5.3) en modo oscuro forzado (data-bs-theme="dark").
 * Solo cambia la maquetación/estilos; la lógica PHP/sesión/CSRF se preserva intacta.
 */

declare(strict_types=1);

require_once __DIR__ . '/helpers.php';
require_once __DIR__ . '/auth.php';
require_once __DIR__ . '/i18n.php';

$pageTitle = $pageTitle ?? 'Panel';
// Nombre del script actual para marcar el enlace activo del menú.
$current = basename($_SERVER['SCRIPT_NAME'] ?? '');

/**
 * Devuelve ' active' si la página dada es la actual (para resaltar el menú).
 */
function nav_active(string $page): string
{
    global $current;
    return $current === $page ? ' active' : '';
}

/**
 * Elementos del menú lateral: [archivo, etiqueta, icono line-awesome].
 *
 * @return array<int,array{0:string,1:string,2:string}>
 */
function panel_nav_items(): array
{
    $items = [
        ['dashboard.php',   'Dashboard',    'la-tachometer-alt'],
        ['devices.php',     'Dispositivos', 'la-tv'],
        ['activate.php',    'Activar MAC',  'la-bolt'],
        ['dns.php',         'DNS',          'la-server'],
        ['vpn.php',         'VPN',          'la-shield-alt'],
        ['settings.php',    'Ajustes',      'la-cog'],
    ];
    // Incluir páginas opcionales solo si existen en disco.
    $optional = [
        ['tmdb.php',     'TMDB',     'la-film'],
        ['menu_ads.php', 'Ads',      'la-bullhorn'],
    ];
    foreach ($optional as $opt) {
        if (is_file(__DIR__ . '/../' . $opt[0])) {
            $items[] = $opt;
        }
    }
    return $items;
}

// Abre el buffer de traducción (footer.php lo cierra, traduce y emite).
i18n_begin();
?>
<!doctype html>
<html lang="<?= e(panel_lang()) ?>" data-bs-theme="dark">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title><?= e($pageTitle) ?> · IBO Ultra Panel</title>
    <link rel="icon" href="assets/vvveb/img/favicon.ico">
    <link rel="stylesheet" href="assets/vvveb/css/admin.css">
    <link rel="stylesheet" href="assets/vvveb/custom.css?v=<?= @filemtime(__DIR__ . '/../assets/vvveb/custom.css') ?>">
</head>
<body class="home">
    <div id="container">

        <aside class="sidebar" aria-label="Navegación principal">
            <a class="brand" href="dashboard.php">
                <span class="brand-mark">IBO</span>
                <span class="brand-name">
                    <strong>IBO Ultra Panel</strong>
                    <small>IPTV admin</small>
                </span>
            </a>

            <nav class="navbar navbar-expand-md">
                <div class="navbar-collapse">
                    <ul class="nav navbar-nav flex-column">
                        <?php foreach (panel_nav_items() as [$file, $label, $icon]): ?>
                            <li class="nav-item">
                                <a class="nav-link<?= nav_active($file) ?>" href="<?= e($file) ?>">
                                    <i class="la <?= e($icon) ?>"></i>
                                    <span class="title"><?= e($label) ?></span>
                                </a>
                            </li>
                        <?php endforeach; ?>
                    </ul>
                </div>
            </nav>

            <div class="sidebar-foot">
                <span class="who"><i class="la la-user-circle"></i> <?= e(current_admin()) ?></span>
                <a class="btn btn-sm btn-outline-secondary w-100" href="logout.php">
                    <i class="la la-sign-out-alt"></i> Salir
                </a>
            </div>
        </aside>

        <main class="main">
            <div class="top-header d-flex align-items-center justify-content-between">
                <div class="d-flex align-items-center">
                    <button class="btn px-2 sidebar-toggle" type="button" title="Menú" aria-label="Menú">
                        <i class="la la-bars"></i>
                    </button>
                    <h1 class="h5 mb-0 ms-2"><?= e($pageTitle) ?></h1>
                </div>
                <div class="d-flex align-items-center">
                    <?= lang_switcher_html() ?>
                    <button id="color-theme-switch" class="btn px-2" type="button" title="Cambiar tema claro/oscuro">
                        <i class="la la-sun"></i>
                    </button>
                    <a class="btn btn-sm btn-outline-secondary ms-2" href="logout.php">
                        <i class="la la-sign-out-alt"></i> <span class="d-none d-sm-inline">Salir</span>
                    </a>
                </div>
            </div>

            <div class="container-fluid py-3 page">
