investigation-summary → investigation

This commit is contained in:
Julie Blanc 2026-02-14 17:07:52 +01:00
parent b5f9da678f
commit 0726c50993
8 changed files with 52 additions and 52 deletions

View file

@ -0,0 +1,445 @@
<?php snippet('header') ?>
<div class="btn--group__mobile">
<div class="dropdown dropdown--position-mobile">
<button class="dropdown__trigger btn--bold-inline no-link">
<span class="icon"><?= svg('assets/icons/share.svg') ?></span>
<span class="text">Partager</span>
</button>
<div class="dropdown__content">
<?php snippet('modal-share') ?>
</div>
</div>
</div>
<main>
<header class="page__header">
<p class="page__type">Enquête</p>
<h2 class="page__title"><?= $page->title()->esc() ?></h2>
<?php if ($page->chapo()->isNotEmpty()): ?>
<p class="description"><?= $page->chapo()->inline() ?></p>
<?php endif ?>
</header>
<div class="page__content">
<?php if ($page->heroType()->value() == 'image'): ?>
<?php if ($heroImage = $page->heroImages()->toFile()): ?>
<!-- HERO IMAGE SIMPLE -->
<div id="summary__hero">
<figure>
<img src="<?= $heroImage->url() ?>" alt="<?= $page->title()->esc() ?>">
</figure>
<?php if ($heroImage->caption()->isNotEmpty()): ?>
<figcaption><?= $heroImage->caption() ?></figcaption>
<?php endif ?>
</div>
<?php endif ?>
<?php elseif ($page->heroType()->value() == 'video'): ?>
<!-- HERO VIDEO -->
<div id="summary__hero" class="hero-video">
<div class="player-container">
<?php if ($page->videoExtractUrl()->isNotEmpty()): ?>
<div class="extract">
<video class="vjs-tech" id="player-element_html5_api" tabindex="-1" loop="" muted="muted" playsinline="playsinline" autoplay="" src="<?= $page->videoExtractUrl() ?>"></video>
<button id="hero-play-video"><span class="btn--bold"><?= svg('assets/icons/play.svg') ?> <span class="text">play video</span></button>
</div>
<?php endif ?>
<?php if ($page->videoFullUrl()->isNotEmpty()): ?>
<div class="video-full">
<iframe rel="0" frameborder="0" allowfullscreen="" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" title="<?= $page->title()->esc() ?>" width="480" height="320" src="<?= $page->videoFullUrl() ?>"></iframe>
</div>
<?php endif ?>
</div>
</div>
<?php endif ?>
<dl class="section__article" id="section__dl">
<?php if ($page->incidentDate()->isNotEmpty()): ?>
<div class="dl__group">
<dt>Date de l'incident</dt>
<dd><time datetime="<?= $page->incidentDate()->toDate('yyyy-MM-dd') ?>"><?= $page->incidentDate()->toDate('d MMMM yyyy', 'fr_FR') ?></time></dd>
</div>
<?php endif ?>
<?php if ($page->incidentLocation()->isNotEmpty()): ?>
<div class="dl__group">
<dt>Lieu de l'incident</dt>
<dd><?= $page->incidentLocation()->esc() ?></dd>
</div>
<?php endif ?>
<?php if ($page->incidentConsequences()->isNotEmpty()): ?>
<div class="dl__group">
<dt>Conséquences</dt>
<dd><?= $page->incidentConsequences()->esc() ?></dd>
</div>
<?php endif ?>
<?php if ($keywords = $page->keywords()->split()): ?>
<?php if (count($keywords) > 0): ?>
<div class="dl__group dl__group__keywords">
<dt>Mots-clés</dt>
<dd>
<ul class="keywords">
<?php foreach ($keywords as $keyword): ?>
<li><a href="#"><?= esc($keyword) ?></a></li>
<?php endforeach ?>
</ul>
</dd>
</div>
<?php endif ?>
<?php endif ?>
<?php if ($methodology = $page->methodology()->split()): ?>
<?php if (count($methodology) > 0): ?>
<div class="dl__group">
<dt>Méthodologie</dt>
<dd>
<ul>
<?php foreach ($methodology as $method): ?>
<li><?= esc($method) ?></li>
<?php endforeach ?>
</ul>
</dd>
</div>
<?php endif ?>
<?php endif ?>
<?php if ($team = $page->team()->split()): ?>
<?php if (count($team) > 0): ?>
<div class="dl__group">
<dt>Équipe</dt>
<dd><?= implode(', ', array_map('esc', $team)) ?></dd>
</div>
<?php endif ?>
<?php endif ?>
<?php if ($partners = $page->partners()->toStructure()): ?>
<?php if ($partners->isNotEmpty()): ?>
<div class="dl__group">
<dt>Partenaire(s)</dt>
<dd>
<?php $partnerLinks = [] ?>
<?php foreach ($partners as $partner): ?>
<?php if ($partner->link()->isNotEmpty()): ?>
<?php $partnerLinks[] = '<a href="' . $partner->link() . '" target="_blank">' . $partner->name()->esc() . '</a>' ?>
<?php else: ?>
<?php $partnerLinks[] = $partner->name()->esc() ?>
<?php endif ?>
<?php endforeach ?>
<?= implode(', ', $partnerLinks) ?>
</dd>
</div>
<?php endif ?>
<?php endif ?>
<?php if ($page->created()->isNotEmpty()): ?>
<div class="dl__group">
<dt>Date de publication</dt>
<dd><time datetime="<?= $page->created()->toDate('yyyy-MM-dd') ?>"><?= $page->created()->toDate('d MMMM yyyy', 'fr_FR') ?></time></dd>
</div>
<?php endif ?>
</dl>
<div class="investigation__content">
<?php foreach ($page->body()->toLayouts() as $layout): ?>
<?php
$columns = $layout->columns();
$columnCount = $columns->count();
?>
<?php if ($columnCount === 1): ?>
<?php
$column = $columns->first();
$blocks = $column->blocks();
$hasHeading = false;
$hasOtherContent = false;
// Check what types of content we have
foreach ($blocks as $block) {
if ($block->type() === 'heading') {
$hasHeading = true;
} else {
$hasOtherContent = true;
}
}
?>
<div class="section-content">
<?php foreach ($blocks as $block): ?>
<?php if ($block->type() === 'heading'): ?>
<<?= $block->level()->or('h3') ?> class="section-title"><?= $block->text() ?></<?= $block->level()->or('h3') ?>>
<?php elseif ($block->type() === 'text'): ?>
<div class="section-txt">
<?= $block->text() ?>
</div>
<?php elseif ($block->type() === 'image'): ?>
<div class="media container-figure fig-simple">
<?php $image = $block->image()->toFile(); ?>
<?php if ($image): ?>
<figure>
<img src="<?= $image->url() ?>" alt="<?= $image->alt()->esc() ?>">
</figure>
<?php if ($image->caption()->isNotEmpty()): ?>
<p class="caption"><?= $image->caption()->html() ?></p>
<?php endif ?>
<?php endif ?>
</div>
<?php elseif ($block->type() === 'beforeafter'): ?>
<div class="media">
<?php snippet('blocks/' . $block->type(), ['block' => $block]) ?>
</div>
<?php elseif ($block->type() === 'video'): ?>
<div class="media container-video">
<?php snippet('blocks/' . $block->type(), ['block' => $block]) ?>
</div>
<?php elseif ($block->type() === 'horizontal-gallery'): ?>
<?php snippet('blocks/' . $block->type(), ['block' => $block]) ?>
<?php endif ?>
<?php endforeach ?>
</div>
<?php elseif ($columnCount === 2): ?>
<div class="section-content">
<div class="subsection-w-media">
<?php
$firstColumn = $columns->first();
$lastColumn = $columns->last();
?>
<div class="media">
<?php foreach ($firstColumn->blocks() as $block): ?>
<?php if ($block->type() === 'image'): ?>
<div class="container-figure fig-simple">
<?php $image = $block->image()->toFile(); ?>
<?php if ($image): ?>
<figure>
<img src="<?= $image->url() ?>" alt="<?= $image->alt()->esc() ?>">
</figure>
<?php if ($image->caption()->isNotEmpty()): ?>
<p class="caption"><?= $image->caption()->html() ?></p>
<?php endif ?>
<?php endif ?>
</div>
<?php elseif ($block->type() === 'beforeafter'): ?>
<?php snippet('blocks/' . $block->type(), ['block' => $block]) ?>
<?php elseif ($block->type() === 'video'): ?>
<?php snippet('blocks/' . $block->type(), ['block' => $block]) ?>
<?php endif ?>
<?php endforeach ?>
</div>
<div class="subsection-txt">
<?php foreach ($lastColumn->blocks() as $block): ?>
<?php if ($block->type() === 'text'): ?>
<?= $block->text() ?>
<?php elseif ($block->type() === 'heading'): ?>
<<?= $block->level()->or('h3') ?>><?= $block->text() ?></<?= $block->level()->or('h3') ?>>
<?php endif ?>
<?php endforeach ?>
</div>
</div>
</div>
<?php endif ?>
<?php endforeach ?>
</div>
<div class="section__article" id="section__impacts">
<h3 class="section__title">Impacts</h3>
<!-- Contenu statique temporaire - sera dynamique quand les pages impacts seront créées -->
<div class="card--impact-small" data-impact-type="media">
<p class="tag">Médiatique</p>
<div class="content">
<p>12 articles et reprises</p>
<p>1.5M de vues cumulées</p>
</div>
<details class="open-graph__details">
<summary><p class="summary-inner">Détails <span class="arrow-details"><?= svg('assets/icons/arrow-details.svg') ?></span><p></summary>
<?php snippet('card-open-graph') ?>
</details>
</div>
<div class="card--impact-small has-link" data-impact-type="judiciaire">
<p class="tag">Judiciaire</p>
<p class="date">12 Dec 2025</p>
<div class="content">
<p >La justice israélienne déclare ouvrir une enquête sur "les circonstances de la mort de Nidal et Khaled Amirah".
</p>
</div>
<ul class="keywords">
<li><a href="#keyword" target="_blank">Occupation</a></li>
<li><a href="#keyword" target="_blank">Colonialité</a></li>
<li><a href="#keyword" target="_blank">Forces armées</a></li>
</ul>
<button class="btn--go-to"><a href="#" target="_blank"><?= svg('assets/icons/arrow-left.svg') ?></a></button>
<a class="link-block" href="#" target="_blank"></a>
</div>
<div class="card--impact-small has-link" data-impact-type="judiciaire">
<p class="tag">Judiciaire</p>
<p class="date">12 Dec 2025</p>
<div class="content">
<p >La justice israélienne déclare ouvrir une enquête sur "les circonstances de la mort de Nidal et Khaled Amirah"
</p>
</div>
<ul class="keywords">
<li><a href="#keyword" target="_blank">Occupation</a></li>
<li><a href="#keyword" target="_blank">Colonialité</a></li>
<li><a href="#keyword" target="_blank">Forces armées</a></li>
</ul>
<button class="btn--go-to"><a href="#" target="_blank"><?= svg('assets/icons/arrow-left.svg') ?></a></button>
<a class="link-block" href="#" target="_blank"></a>
</div>
<div class="card--impact-small" data-impact-type="public">
<p class="tag">Judiciaire</p>
<p class="date">12 Dec 2025</p>
<div class="content">
<p>Index présente une série d'enquêtes récentes au Festival du Réel 2025.</a>
</p>
</div>
<ul class="keywords">
<li><a href="#keyword" target="_blank">Evènement</a></li>
<li><a href="#keyword" target="_blank">Actualité dIndex</a></li>
</ul>
</div>
</div>
<?php
// Récupérer les enquêtes en lien
$relatedInvestigations = $page->relatedInvestigations()->toPages();
if ($relatedInvestigations->isEmpty()) {
// Si pas d'enquêtes liées définies, prendre les 3 dernières enquêtes (sauf la page actuelle)
$relatedInvestigations = $page->parent()->children()->filterBy('intendedTemplate', 'investigation')->not($page)->listed()->limit(3);
}
?>
<?php
// KIRBYTODO : récupérer sil y a un dossier mr
?>
<?php
// Récupérer le dossier associé à cette investigation
$packageSlug = $page->package()->value();
$package = null;
if (!empty($packageSlug) && site()->find('dossiers')) {
$package = site()->find('dossiers')->children()->filterBy('slug', $packageSlug)->first();
}
if ($package):
?>
<aside class="section__article" id="section__package">
<h3 class="section__title">Dans le dossier</h3>
<article class="card--package">
<?php if ($cover = $package->cover()->toFile()): ?>
<figure>
<img src="<?= $cover->url() ?>" alt="<?= $package->title()->esc() ?>">
</figure>
<?php endif ?>
<div class="content">
<h4 class="title"><a href="<?= $package->url() ?>"><span class="icon"><?= svg('assets/icons/package.svg') ?></span><?= $package->title()->esc() ?></a></h4>
<?php if ($package->description()->isNotEmpty()): ?>
<p class="short"><?= $package->description()->excerpt(200) ?></p>
<?php endif ?>
<?php
// Compter les enquêtes associées à ce dossier
$investigationsCount = site()->find('enquetes')->children()->listed()->filter(function($investigation) use ($package) {
return $investigation->package()->value() === $package->slug();
})->count();
?>
<ul>
<?php if ($investigationsCount > 0): ?>
<li><?= $investigationsCount ?> enquête<?= $investigationsCount > 1 ? 's' : '' ?></li>
<?php endif ?>
<li>8 impacts</li>
</ul>
</div>
<button class="btn--go-to"><a href="<?= $package->url() ?>" target="_blank"><?= svg('assets/icons/arrow-left.svg') ?></a></button>
<a class="link-block" href="<?= $package->url() ?>" target="_blank" aria-hidden="true"></a>
</article>
</aside>
<?php endif ?>
<?php if ($relatedInvestigations->isNotEmpty()): ?>
<aside class="section__article" id="section__related-articles">
<h3 class="section__title">En lien</h3>
<?php foreach ($relatedInvestigations as $related): ?>
<article class="card--article-small">
<?php if ($cover = $related->cover()->toFile()): ?>
<figure>
<img src="<?= $cover->url() ?>" alt="<?= $related->title()->esc() ?>">
</figure>
<?php endif ?>
<div class="content">
<h4 class="title"><a href="<?= $related->url() ?>"><?= $related->title()->esc() ?></a></h4>
<?php if ($related->incidentDate()->isNotEmpty()): ?>
<time datetime="<?= $related->incidentDate()->toDate('yyyy-MM-dd') ?>"><?= $related->incidentDate()->toDate('d MMMM yyyy', 'fr_FR') ?></time>
<?php if ($related->chapo()->isNotEmpty()): ?>
<p class="description"><?= $related->chapo()->excerpt(200) ?></p>
<?php endif ?>
<?php endif ?>
<?php if ($relatedKeywords = $related->keywords()->split()): ?>
<?php if (count($relatedKeywords) > 0): ?>
<ul class="keywords">
<?php foreach ($relatedKeywords as $keyword): ?>
<li><a href="#"><?= esc($keyword) ?></a></li>
<?php endforeach ?>
</ul>
<?php endif ?>
<?php endif ?>
</div>
<button class="btn--go-to"><a href="<?= $related->url() ?>" target="_blank"><?= svg('assets/icons/arrow-left.svg') ?></a></button>
<a class="link-block" href="<?= $related->url() ?>" target="_blank" aria-hidden="true"></a>
</article>
<?php endforeach ?>
</aside>
</div>
<?php endif ?>
</main>
<?php snippet('footer') ?>