<?php
require_once __DIR__ . '/inc/template.php';
require_once __DIR__ . '/inc/data.php';

$typeSlug = isset($_GET['type']) ? preg_replace('/[^a-z0-9-]/','',$_GET['type']) : null;
$page = max(1, (int)($_GET['p'] ?? 1));
$q = isset($_GET['q']) ? trim(substr($_GET['q'],0,80)) : '';

$types = types_de_soins();
$data  = temoignages_liste($typeSlug ?: null, $page, 24, $q ?: null);

$typeNom = null;
if ($typeSlug) foreach ($types as $t) if ($t['slug']===$typeSlug) $typeNom = $t['nom'];

// Type demandé mais introuvable parmi les types ayant des témoignages publiés
// (ex. catégorie vidée comme « soins sur animaux ») → 404, pas de page vide indexable.
if ($typeSlug && $typeNom === null && empty($data['items'])) {
    http_response_code(404);
    page_title('Page introuvable');
    ob_start(); ?>
    <section class="wrap" style="padding:6rem 2rem;text-align:center;min-height:40vh">
      <h1 class="cor" style="font-size:2rem">Page introuvable</h1>
      <p style="color:var(--ink2);margin-top:1rem">Cette page n'existe pas ou n'est plus disponible.</p>
      <p style="margin-top:1.5rem"><a class="btn btn-blue" href="<?= url_temoignages() ?>">Voir tous les témoignages</a></p>
    </section>
    <?php render_page(ob_get_clean()); exit;
}

page_active('temoignages');
page_title($typeNom ? 'Témoignages — '.$typeNom : 'Témoignages');
page_desc('Plus de 200 témoignages de patients soignés au cabinet de Tuina à Caen : douleurs articulaires, troubles fonctionnels, et bien plus.');

// base d'URL propre pour la pagination
$paginBase = $typeSlug ? url_type($typeSlug) : url_temoignages();

ob_start();
?>
<section class="page-hero">
  <div class="grain"></div>
  <?php hero_image('hero.temoignages'); ?>
  <div class="wrap">
    <?= fil_ariane([['Témoignages', null]]) ?>
    <div class="kick tag">Paroles de patients</div>
    <h1 class="cor"><?= $typeNom ? e($typeNom) : 'Témoignages' ?></h1>
    <p class="lead">Plus de deux cents retours de patients soulagés, recueillis au fil des années de pratique au cabinet.</p>
  </div>
</section>

<?php section_ouvrir('temoignages.liste','wrap tem-list'); ?>

  <p class="temoi-avert">Les témoignages ci-dessous reflètent l'expérience personnelle de patients. Ils n'ont pas valeur de preuve médicale et ne constituent ni une promesse ni une garantie de résultat. En cas de problème de santé, consultez votre médecin.</p>

  <div class="proposer proposer-top">
    <p>Vous avez été soigné au cabinet ?</p>
    <a href="/proposer-temoignage.php" class="btn btn-blue">Proposer mon témoignage</a>
  </div>

  <form class="tem-search" method="get" action="<?= url_temoignages() ?>">
    <input type="search" name="q" value="<?= e($q) ?>" placeholder="Rechercher une pathologie, un mot-clé… (ex : lombalgie, migraine)" aria-label="Rechercher dans les témoignages">
    <button type="submit">Rechercher</button>
    <?php if ($q !== ''): ?><a href="<?= url_temoignages() ?>" class="tem-search-reset">✕ Effacer</a><?php endif; ?>
  </form>
  <?php if ($q !== ''): ?>
    <p class="tem-search-info"><?= (int)$data['total'] ?> témoignage(s) trouvé(s) pour « <?= e($q) ?> ».</p>
  <?php endif; ?>

  <div class="filtres">
    <a href="<?= url_temoignages() ?>" class="filtre<?= !$typeSlug ? ' on':'' ?>">Tous <span><?= array_sum(array_column($types,'nb')) ?></span></a>
    <?php foreach ($types as $t): ?>
      <a href="<?= url_type($t['slug']) ?>" class="filtre<?= $typeSlug===$t['slug']?' on':'' ?>">
        <?= e($t['nom']) ?> <span><?= $t['nb'] ?></span>
      </a>
    <?php endforeach; ?>
  </div>

  <?php if (!$data['items']): ?>
    <p style="color:var(--ink2);padding:2rem 0">Aucun témoignage pour ce filtre.</p>
  <?php else: ?>
  <div class="tcards">
    <?php foreach ($data['items'] as $t): ?>
      <a class="tc" href="<?= url_temoignage($t['slug']) ?>">
        <?php if ($t['image_url']): ?>
          <div class="tc-img"><img src="<?= e($t['image_url']) ?>" alt="<?= e($t['image_alt'] ?: $t['titre']) ?>" loading="lazy"></div>
        <?php endif; ?>
        <div class="tc-body">
          <?php if ($t['type_nom']): ?><div class="tc-type"><?= e($t['type_nom']) ?></div><?php endif; ?>
          <h2 class="tc-titre cor"><?= e($t['titre']) ?></h2>
          <?php if (!empty($t['date_pub'])): ?><div class="tc-date"><?= e(mois_an($t['date_pub'])) ?></div><?php endif; ?>
          <p class="tc-extrait"><?= e(extrait_texte($t['contenu'], 150)) ?></p>
          <span class="tc-lire">Lire le témoignage →</span>
        </div>
      </a>
    <?php endforeach; ?>
  </div>

  <?php if ($data['pages'] > 1): ?>
    <nav class="pagination">
      <?php for ($i=1;$i<=$data['pages'];$i++): ?>
        <a href="<?= e($paginBase) ?>?p=<?= $i ?>" class="<?= $i===$data['page']?'on':'' ?>"><?= $i ?></a>
      <?php endfor; ?>
    </nav>
  <?php endif; ?>
  <?php endif; ?>

<?php section_fermer(); ?>

<?php
$contenu = ob_get_clean();
render_page($contenu);
