<?php
/**
 * @var Laminas\View\Renderer\PhpRenderer $this
 */
use Laminas\Authentication\AuthenticationService;

$auth = new AuthenticationService();
$isLoggedIn = $auth->hasIdentity();
?>
<!DOCTYPE html>
<html lang="fr">
    <head>
        <meta charset="utf-8">
        <?= $this->headTitle('On Tour App')->setSeparator(' - ')->setAutoEscape(false) ?>
        <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
        <meta name="theme-color" content="#0f0f14">
        <meta name="mobile-web-app-capable" content="yes">
        <meta name="apple-mobile-web-app-capable" content="yes">
        <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
        <meta name="apple-mobile-web-app-title" content="On Tour">

        <!-- Applique accent + thème avant le rendu pour éviter tout flash -->
        <script>
            (function() {
                var c = localStorage.getItem('on_tour_accent');
                if (c) {
                    document.documentElement.style.setProperty('--color-accent', c);
                    document.documentElement.style.setProperty('--color-accent-dim', c + '26');
                }
                if (localStorage.getItem('on_tour_theme') === 'light') {
                    document.documentElement.classList.add('light-mode');
                }
            })();
        </script>

        <!-- PWA -->
        <link rel="manifest" href="<?= $this->basePath() ?>/manifest.json">
        <link rel="apple-touch-icon" href="<?= $this->basePath() ?>/img/icons/icon-152x152.png">
        <link rel="shortcut icon" type="image/vnd.microsoft.icon" href="<?= $this->basePath() ?>/img/favicon.ico">

        <!-- Bootstrap Icons -->
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">

        <!-- Bootstrap CSS -->
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css">

        <!-- App styles -->
        <link rel="stylesheet" href="<?= $this->basePath() ?>/css/style.css">

        <?= $this->headScript() ?>
    </head>
    <body data-super-admin="<?= ($isSuperAdmin ?? false) ? '1' : '0' ?>" data-is-admin="<?= ($isAdmin ?? false) ? '1' : '0' ?>">

        <!-- ── Header ─────────────────────────────────────────────────────────── -->
        <header class="app-header">
            <div class="app-header-inner">

                <a href="<?= $this->url('home') ?>" class="header-brand">
                  
                    <span>On Tour</span>
                </a>

                <?php if ($isLoggedIn): ?>
                <nav class="header-nav" id="headerNav">
                    <a href="<?= $this->url('home') ?>" class="header-nav-link" data-nav="home">
                        <i class="bi bi-house-fill"></i> Dashboard
                    </a>

                    <a href="<?= $this->url('j-day') ?>" class="header-nav-link" data-nav="jday">
                        <i class="bi bi-calendar-check-fill"></i> J-Day
                    </a>

                    <div class="dropdown">
                        <button class="header-nav-link dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false" data-nav="shows">
                            <i class="bi bi-calendar3-event-fill"></i> Shows
                        </button>
                        <ul class="dropdown-menu">
                            <li><a class="dropdown-item" href="<?= $this->url('shows', ['action' => 'index']) ?>">
                                <i class="bi bi-list me-2"></i>Tous les shows
                            </a></li>
                            <li><a class="dropdown-item" href="<?= $this->url('shows', ['action' => 'add']) ?>">
                                <i class="bi bi-plus-circle me-2"></i>Ajouter
                            </a></li>
                        </ul>
                    </div>

                    <div class="dropdown">
                        <button class="header-nav-link dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false" data-nav="tours">
                            <i class="bi bi-music-note-list"></i> Tournées
                        </button>
                        <ul class="dropdown-menu">
                            <li><a class="dropdown-item" href="<?= $this->url('tours', ['action' => 'index']) ?>">
                                <i class="bi bi-list me-2"></i>Toutes les tournées
                            </a></li>
                            <li><a class="dropdown-item" href="<?= $this->url('tours', ['action' => 'add']) ?>">
                                <i class="bi bi-plus-circle me-2"></i>Ajouter
                            </a></li>
                        </ul>
                    </div>

                    <div class="dropdown">
                        <button class="header-nav-link dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false" data-nav="teams">
                            <i class="bi bi-people-fill"></i> Équipes
                        </button>
                        <ul class="dropdown-menu">
                            <li><a class="dropdown-item" href="<?= $this->url('teams', ['action' => 'index']) ?>">
                                <i class="bi bi-list me-2"></i>Toutes les équipes
                            </a></li>
                            <li><a class="dropdown-item" href="<?= $this->url('teams', ['action' => 'add']) ?>">
                                <i class="bi bi-plus-circle me-2"></i>Créer
                            </a></li>
                        </ul>
                    </div>

                    <?php if ($isSuperAdmin ?? false): ?>
                    <div class="dropdown">
                        <button class="header-nav-link dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false" data-nav="structures">
                            <i class="bi bi-building"></i> Structures
                        </button>
                        <ul class="dropdown-menu">
                            <li><a class="dropdown-item" href="<?= $this->url('structures', ['action' => 'index']) ?>">
                                <i class="bi bi-list me-2"></i>Toutes les structures
                            </a></li>
                            <li><a class="dropdown-item" href="<?= $this->url('structures', ['action' => 'add']) ?>">
                                <i class="bi bi-plus-circle me-2"></i>Ajouter
                            </a></li>
                        </ul>
                    </div>
                    <?php endif; ?>

                    <?php if ($isAdmin ?? false): ?>
                    <div class="dropdown">
                        <button class="header-nav-link dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false" data-nav="users">
                            <i class="bi bi-person-lines-fill"></i> Utilisateurs
                        </button>
                        <ul class="dropdown-menu">
                            <li><a class="dropdown-item" href="<?= $this->url('users', ['action' => 'index']) ?>">
                                <i class="bi bi-list me-2"></i>Mes utilisateurs
                            </a></li>
                        </ul>
                    </div>
                    <?php endif; ?>
                </nav>
                <?php endif; ?>

                <div class="header-page-title" id="headerPageTitle"></div>

                <div class="header-actions">
                    <?php if ($isLoggedIn): ?>
                    <a href="<?= $this->url('profile') ?>" class="header-icon-btn" id="headerProfileBtn" title="Profil">
                        <i class="bi bi-person-fill"></i>
                    </a>
                    <?php endif; ?>
                    <a href="<?= $this->url('settings') ?>" class="header-icon-btn" id="headerSettingsBtn" title="Paramètres">
                        <i class="bi bi-gear-fill"></i>
                    </a>
                </div>

            </div>
        </header>

        <!-- ── Content ────────────────────────────────────────────────────────── -->
        <main class="app-content">
            <div class="container">

                <?php if ($this->flashMessenger()->hasMessages()): ?>
                    <?php foreach ($this->flashMessenger()->getSuccessMessages() as $msg): ?>
                        <div class="alert alert-success alert-dismissible fade show mt-3" role="alert">
                            <i class="bi bi-check-circle me-2"></i>
                            <?= $this->escapeHtml($msg) ?>
                            <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Fermer"></button>
                        </div>
                    <?php endforeach; ?>
                    <?php foreach ($this->flashMessenger()->getErrorMessages() as $msg): ?>
                        <div class="alert alert-danger alert-dismissible fade show mt-3" role="alert">
                            <i class="bi bi-exclamation-circle me-2"></i>
                            <?= $this->escapeHtml($msg) ?>
                            <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Fermer"></button>
                        </div>
                    <?php endforeach; ?>
                <?php endif; ?>

                <?= $this->content ?>

            </div>
        </main>

        <?php if ($isLoggedIn): ?>
            <nav class="bottom-nav" id="bottomNav" aria-label="Navigation principale"></nav>
        <?php endif; ?>

        <!-- Bootstrap JS -->
        <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>

        <!-- SortableJS -->
        <script src="https://cdn.jsdelivr.net/npm/sortablejs@1.15.3/Sortable.min.js"></script>

        <!-- App JS -->
        <script src="<?= $this->basePath() ?>/js/app.js"></script>

        <!-- Service Worker -->
        <script>
            if ('serviceWorker' in navigator) {
                window.addEventListener('load', () => {
                    navigator.serviceWorker.register('/sw.js').catch(() => {});
                });
            }
        </script>
    </body>
</html>
