<main class="tfe-main" id="main-content">
    <article class="tfe-layout">

        <!-- LEFT: info — article header -->
        <header class="tfe-left">
            <!-- Author above title -->
            <p class="tfe-author"><?= htmlspecialchars($data['authors'] ?? 'Auteur inconnu') ?></p>

            <h1 class="tfe-title">
                <?= htmlspecialchars($data['title']) ?>
                <?php if (!empty($data['subtitle'])): ?>
                    – <?= htmlspecialchars($data['subtitle']) ?>
                <?php endif; ?>
            </h1>

            <dl>
                <?php if (!empty($data['orientation'])): ?>
                <div>
                    <dt>Orientation :</dt>
                    <dd><a href="/repertoire?or[]=<?= urlencode($data['orientation']) ?>"><?= htmlspecialchars($data['orientation']) ?></a></dd>
                </div>
                <?php endif; ?>

                <?php if (!empty($data['ap_program'])): ?>
                <div>
                    <dt>Atelier pluridisciplinaire :</dt>
                    <dd><a href="/repertoire?ap[]=<?= urlencode($data['ap_program']) ?>"><?= htmlspecialchars($data['ap_program']) ?></a></dd>
                </div>
                <?php endif; ?>

                <?php if (!empty($data['year'])): ?>
                <div>
                    <dt>Date :</dt>
                    <dd><a href="/repertoire?fy[]=<?= urlencode($data['year']) ?>"><?= htmlspecialchars($data['year']) ?></a></dd>
                </div>
                <?php endif; ?>

                <?php if (!empty($data['languages'])): ?>
                <div>
                    <dt>Langue :</dt>
                    <dd><?php
                        $langs = array_map('trim', explode(',', $data['languages']));
                        $langLinks = array_map(fn($l) => '<a href="/search?query=' . urlencode($l) . '">' . htmlspecialchars($l) . '</a>', $langs);
                        echo implode(', ', $langLinks);
                    ?></dd>
                </div>
                <?php endif; ?>

                <?php if (!empty($data['formats'])): ?>
                <div>
                    <dt>Format :</dt>
                    <dd><?php
                        $fmts = array_map('trim', explode(',', $data['formats']));
                        $fmtLinks = array_map(fn($f) => '<a href="/search?query=' . urlencode($f) . '">' . htmlspecialchars($f) . '</a>', $fmts);
                        echo implode(', ', $fmtLinks);
                    ?></dd>
                </div>
                <?php endif; ?>

                <?php if (!empty($data['file_size_info'])): ?>
                <div>
                    <dt>Durée :</dt>
                    <dd><?= htmlspecialchars($data['file_size_info']) ?></dd>
                </div>
                <?php endif; ?>

                <?php if (!empty($data['keywords'])): ?>
                <div>
                    <dt>Mots-clés :</dt>
                    <dd><?php
                        $kws = array_map('trim', explode(',', $data['keywords']));
                        $kwLinks = array_map(fn($k) => '<a href="/repertoire?kw[]=' . urlencode($k) . '">' . htmlspecialchars($k) . '</a>', $kws);
                        echo implode(', ', $kwLinks);
                    ?></dd>
                </div>
                <?php endif; ?>

                <?php if (!empty($promoteursInternes)): ?>
                <div>
                    <dt>Promoteur·ice interne :</dt>
                    <dd><?php
                        $links = array_map(fn($n) => '<a href="/search?query=' . urlencode($n) . '">' . htmlspecialchars($n) . '</a>', $promoteursInternes);
                        echo implode(', ', $links);
                    ?></dd>
                </div>
                <?php endif; ?>

                <?php if (!empty($promoteursExternes)): ?>
                <div>
                    <dt>Promoteur·ice externe :</dt>
                    <dd><?php
                        $links = array_map(fn($n) => '<a href="/search?query=' . urlencode($n) . '">' . htmlspecialchars($n) . '</a>', $promoteursExternes);
                        echo implode(', ', $links);
                    ?></dd>
                </div>
                <?php endif; ?>

                <?php if (!empty($juryPresidents)): ?>
                <div>
                    <dt>Président·e du jury :</dt>
                    <dd><?php
                        $links = array_map(fn($n) => '<a href="/search?query=' . urlencode($n) . '">' . htmlspecialchars($n) . '</a>', $juryPresidents);
                        echo implode(', ', $links);
                    ?></dd>
                </div>
                <?php endif; ?>

                <?php if (!empty($juryLecteurs)): ?>
                <div>
                    <dt>Lecteur·ices :</dt>
                    <dd><?php
                        $links = array_map(fn($n) => '<a href="/search?query=' . urlencode($n) . '">' . htmlspecialchars($n) . '</a>', $juryLecteurs);
                        echo implode(', ', $links);
                    ?></dd>
                </div>
                <?php endif; ?>

                <?php if (!empty($data['access_type'])): ?>
                <div>
                    <dt>Accès :</dt>
                    <dd><?= htmlspecialchars($data['access_type']) ?></dd>
                </div>
                <?php endif; ?>

                <?php if (!empty($data['license_type'])): ?>
                <div>
                    <dt>Licence :</dt>
                    <dd><?= htmlspecialchars($data['license_type']) ?></dd>
                </div>
                <?php endif; ?>

                <?php if (!empty($data['context_note'])): ?>
                <div class="tfe-meta-note">
                    <dt>Note :</dt>
                    <dd class="tfe-note-value"><?= nl2br(htmlspecialchars($data['context_note'])) ?></dd>
                </div>
                <?php endif; ?>

                <?php if (!empty($data['author_email']) && !empty($data['author_show_contact'])): ?>
                <div>
                    <dt>Contact :</dt>
                    <dd>
                        <?php
                            $_contact = $data['author_email'];
                            $_isUrl   = filter_var($_contact, FILTER_VALIDATE_URL) !== false;
                            $_isEmail = !$_isUrl && str_contains($_contact, '@');
                            if ($_isUrl):
                        ?>
                            <a href="<?= htmlspecialchars($_contact) ?>" target="_blank" rel="noopener">
                                <?= htmlspecialchars(preg_replace('#^https?://#i', '', rtrim($_contact, '/'))) ?>
                                <span class="sr-only">(ouvre dans un nouvel onglet)</span>
                            </a>
                        <?php elseif ($_isEmail): ?>
                            <a href="mailto:<?= htmlspecialchars($_contact) ?>"><?= htmlspecialchars($_contact) ?></a>
                        <?php else: ?>
                            <?= htmlspecialchars($_contact) ?>
                        <?php endif; ?>
                    </dd>
                </div>
                <?php endif; ?>

                <?php if (!empty($data['baiu_link'])): ?>
                <?php
                    $_baiuHref  = htmlspecialchars($data['baiu_link']);
                    $_baiuLabel = preg_replace('#^https?://#i', '', rtrim($data['baiu_link'], '/'));
                ?>
                <div>
                    <dt>Lien :</dt>
                    <dd>
                        <a href="<?= $_baiuHref ?>" target="_blank" rel="noopener">
                            <?= htmlspecialchars($_baiuLabel) ?>
                            <span class="sr-only">(ouvre dans un nouvel onglet)</span>
                        </a>

                    </dd>
                </div>
                <?php endif; ?>
            </dl>

            <?php if (!empty($data['synopsis'])): ?>
            <p class="tfe-synopsis-text">
                <?= nl2br(htmlspecialchars($data['synopsis'])) ?>
            </p>
            <?php endif; ?>
        </header>

        <!-- RIGHT: media — supplementary aside -->
        <aside class="tfe-right">
            <?php
                $_videoIndex = 0;
            ?>
            <?php if ($isInterdit): ?>
                <p class="tfe-restricted">
                    Ce TFE n'est pas disponible en ligne.
                </p>
            <?php elseif (!empty($data['files'])): ?>
                <?php foreach ($data['files'] as $file): ?>
                    <?php
                        $ext = strtolower(pathinfo($file['file_path'], PATHINFO_EXTENSION));
                        if ($ext === 'vtt') continue;
                    ?>
                    <figure>
                        <?php if ($ext === 'pdf'): ?>
                            <embed src="/media?path=<?= urlencode($file['file_path']) ?>"
                                   type="application/pdf" width="100%" height="700px">
                            <p class="tfe-pdf-fallback">
                                <a href="/media?path=<?= urlencode($file['file_path']) ?>&download=1">
                                    Télécharger le PDF
                                </a>
                            </p>
                        <?php elseif (in_array($ext, ['jpg','jpeg','png','gif','bmp','webp'])): ?>
                            <img src="/media?path=<?= urlencode($file['file_path']) ?>"
                                 alt="<?= htmlspecialchars(
                                     !empty($file['description'])
                                         ? $file['description']
                                         : ($data['title'] . ' — ' . ($data['authors'] ?? ''))
                                 ) ?>">
                        <?php elseif ($ext === 'mp4'): ?>
                            <?php
                                $_vttPath = $captionFiles[$_videoIndex] ?? null;
                                $_videoIndex++;
                            ?>
                            <video width="100%" controls>
                                <source src="/media?path=<?= urlencode($file['file_path']) ?>" type="video/mp4">
                                <?php if ($_vttPath): ?>
                                <track kind="captions"
                                       src="/media?path=<?= urlencode($_vttPath) ?>"
                                       srclang="fr"
                                       label="Sous-titres"
                                       default>
                                <?php endif; ?>
                            </video>
                        <?php endif; ?>
                        <?php if (!empty($file['description'])): ?>
                            <figcaption><?= htmlspecialchars($file['description']) ?></figcaption>
                        <?php endif; ?>
                    </figure>
                <?php endforeach; ?>
            <?php else: ?>
                <p class="tfe-no-files">Aucun fichier disponible pour ce TFE.</p>
            <?php endif; ?>
        </aside>

    </article>
</main>
