Compare commits

..

No commits in common. "02e4cc71a6077f9b7e6de6717b86cf362f68ded4" and "d9409e689a5186edf2dc492880bad464350e72eb" have entirely different histories.

7 changed files with 3 additions and 140 deletions

View file

@ -3,9 +3,7 @@
"allow": [
"Bash(git add:*)",
"Bash(git commit:*)",
"Bash(cat:*)",
"Bash(curl:*)",
"Bash(php -l:*)"
"Bash(cat:*)"
],
"deny": [],
"ask": []

8
.gitignore vendored
View file

@ -60,11 +60,5 @@ Icon
/vendor/*
# Local
# ---------------
local/
/local/*
# Claude config
# ---------------
.claude/
/.claude/*
/local/*

0
site/cache/index.html vendored Normal file
View file

View file

@ -30,53 +30,5 @@ return [
'campaign_slug' => 'soutenir-index-en-2024',
'campaign_url' => 'https://donorbox.org/soutenir-index-en-2024',
'api_base_url' => 'https://donorbox.org/api/v1'
],
'routes' => [
// Route pour /enquetes/:slug/resume - Page virtuelle résumé
[
'pattern' => 'enquetes/(:any)/resume',
'action' => function($slug) {
$parent = page('enquetes/' . $slug);
if (!$parent) {
return false;
}
if ($parent->intendedTemplate()->name() !== 'investigation') {
return false;
}
// Créer une page virtuelle avec le template investigation-summary
return Page::factory([
'slug' => 'resume',
'template' => 'investigation-summary',
'parent' => $parent,
'content' => $parent->content()->toArray()
]);
}
],
// Route pour /enquetes/:slug/detail - Page virtuelle détail
[
'pattern' => 'enquetes/(:any)/detail',
'action' => function($slug) {
$parent = page('enquetes/' . $slug);
if (!$parent) {
return false;
}
if ($parent->intendedTemplate()->name() !== 'investigation') {
return false;
}
// Créer une page virtuelle avec le template investigation
return Page::factory([
'slug' => 'detail',
'template' => 'investigation',
'parent' => $parent,
'content' => $parent->content()->toArray()
]);
}
]
]
];

View file

@ -1,62 +0,0 @@
<?php
/**
* Routes pour les enquêtes (investigations)
*
* Structure des URLs :
* - /enquetes/:slug redirige vers /enquetes/:slug/resume (géré par le controller)
* - /enquetes/:slug/resume affiche le résumé (template investigation-summary)
* - /enquetes/:slug/detail affiche l'enquête complète (template investigation)
*
* Note : La redirection de /enquetes/:slug vers /resume est gérée par le controller
* investigation.php, pas par une route, car les routes ne peuvent pas intercepter
* les pages existantes.
*/
return [
// Route pour /enquetes/:slug/resume - Page virtuelle résumé
[
'pattern' => 'enquetes/(:any)/resume',
'action' => function($slug) {
$parent = page('enquetes/' . $slug);
if (!$parent) {
return false;
}
if ($parent->intendedTemplate()->name() !== 'investigation') {
return false;
}
// Créer une page virtuelle avec le template investigation-summary
return Page::factory([
'slug' => 'resume',
'template' => 'investigation-summary',
'parent' => $parent,
'content' => $parent->content()->toArray()
]);
}
],
// Route pour /enquetes/:slug/detail - Page virtuelle détail
[
'pattern' => 'enquetes/(:any)/detail',
'action' => function($slug) {
$parent = page('enquetes/' . $slug);
if (!$parent) {
return false;
}
if ($parent->intendedTemplate()->name() !== 'investigation') {
return false;
}
// Créer une page virtuelle avec le template investigation
return Page::factory([
'slug' => 'detail',
'template' => 'investigation',
'parent' => $parent,
'content' => $parent->content()->toArray()
]);
}
]
];

View file

@ -1,19 +0,0 @@
<?php
/**
* Controller pour le template investigation
* Redirige automatiquement vers la page /resume
* SAUF si c'est une page virtuelle (resume/detail)
*/
return function ($page) {
// Ne rediriger que si c'est la page "réelle" (pas une page virtuelle)
// Les pages virtuelles ont un slug 'resume' ou 'detail'
if ($page->slug() !== 'resume' && $page->slug() !== 'detail') {
// Redirection 301 vers la page résumé
go($page->url() . '/resume', 301);
}
// Si c'est une page virtuelle, laisser le template s'afficher normalement
return compact('page');
};

View file

@ -31,7 +31,7 @@
</nav>
<div class="btn--group">
<button class="btn--bold"><a href="<?= $page->parent()->url() ?>/detail">Lire le rapport</a></button>
<button class="btn--bold"><a href="#">Lire le rapport</a></button>
<label for="share-banner__desktop" class="btn--bold-inline no-link">Partager</label>
</div>