<?php if ($validationError): ?>
<div class="search-error">⚠ <?= htmlspecialchars($validationError) ?></div>
<?php endif; ?>

<!-- Filter controls -->
<form class="search-controls" method="GET" action="/search">
    <input type="hidden" name="query" value="<?= htmlspecialchars($_GET['query'] ?? '') ?>">

    <label class="search-filter-label" for="filter-year">Année
        <select class="search-filter-select" name="year" id="filter-year">
            <option value="">Toutes</option>
            <?php foreach ($years as $y): ?>
                <option value="<?= (int)$y ?>" <?= (isset($_GET['year']) && $_GET['year'] == $y) ? 'selected' : '' ?>>
                    <?= (int)$y ?>
                </option>
            <?php endforeach; ?>
        </select>
    </label>

    <label class="search-filter-label" for="filter-orientation">Orientation
        <select class="search-filter-select" name="orientation" id="filter-orientation">
            <option value="">Toutes</option>
            <?php foreach ($orientations as $o): ?>
                <option value="<?= htmlspecialchars($o['name']) ?>"
                        <?= (isset($_GET['orientation']) && $_GET['orientation'] == $o['name']) ? 'selected' : '' ?>>
                    <?= htmlspecialchars($o['name']) ?>
                </option>
            <?php endforeach; ?>
        </select>
    </label>

    <label class="search-filter-label" for="filter-ap">AP
        <select class="search-filter-select" name="ap_program" id="filter-ap">
            <option value="">Tous</option>
            <?php foreach ($apPrograms as $ap): ?>
                <option value="<?= htmlspecialchars($ap['name']) ?>"
                        <?= (isset($_GET['ap_program']) && $_GET['ap_program'] == $ap['name']) ? 'selected' : '' ?>>
                    <?= htmlspecialchars($ap['name']) ?>
                </option>
            <?php endforeach; ?>
        </select>
    </label>

    <button type="submit" class="btn btn--primary search-apply-btn">Filtrer</button>
    <a href="/search?query=<?= urlencode($_GET['query'] ?? '') ?>" class="search-reset-link">Réinitialiser</a>
</form>

<main class="search-main" id="main-content">
    <output class="search-results-header" role="status"><?= $totalItems ?> résultat<?= $totalItems > 1 ? 's' : '' ?></output>

    <?php if (!empty($results)): ?>
    <ul class="results-grid">
        <?php foreach ($results as $item): ?>
        <?php $thumb = $coverMap[$item['id']] ?? null; ?>
        <li><a href="/tfe?id=<?= (int)$item['id'] ?>" class="result-card<?= $thumb ? ' result-card--has-cover' : '' ?>">
            <?php if ($thumb): ?>
            <figure class="result-card__cover">
                <img src="/media?path=<?= urlencode($thumb) ?>"
                     alt="Couverture — <?= htmlspecialchars($item['title']) ?>"
                     loading="lazy">
            </figure>
            <?php endif; ?>
            <span class="result-card__authors"><?= htmlspecialchars($item['authors'] ?? '') ?></span>
            <span class="result-card__title"><?= htmlspecialchars($item['title']) ?></span>
            <small class="result-card__meta"><?= htmlspecialchars($item['year']) ?><?php if (!empty($item['orientation'])): ?> · <?= htmlspecialchars($item['orientation']) ?><?php endif; ?></small>
        </a></li>
        <?php endforeach; ?>
    </ul>

    <?php include APP_ROOT . '/templates/partials/pagination.php'; ?>

    <?php else: ?>
    <p class="search-empty">Aucun résultat pour cette recherche.</p>
    <?php endif; ?>
</main>
