- Mise en place de Svelte 4 avec Vite pour le frontend (SPA) - Simplification des templates PHP (header/footer minimalistes) - Création de templates JSON pour API (home, about, expertise, portfolio, jouer, game, blog, article, project) - Ajout d'un controller de site pour définir genericData globalement - Structure des stores Svelte (page, navigation, locale, site) - Router avec navaid pour navigation SPA et interception des liens - Composants layout (Header, Footer, Cursor) et vues de base - Build Vite vers assets/dist/ (index.js/css) - Header PHP détecte assets/dist pour basculer dev/prod Architecture fonctionnelle de base établie, à améliorer et compléter. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
37 lines
1.1 KiB
PHP
37 lines
1.1 KiB
PHP
<?php
|
|
|
|
return function ($page, $kirby, $site) {
|
|
// Generic page data available in all templates
|
|
$genericData = [
|
|
'title' => $page->title()->value(),
|
|
'url' => $page->url(),
|
|
'uri' => $page->uri(),
|
|
'template' => $page->intendedTemplate()->name(),
|
|
'modified' => $page->modified('Y-m-d'),
|
|
'site' => [
|
|
'title' => $site->site_title()->value(),
|
|
'url' => $site->url(),
|
|
'logo' => $site->logo()->toFile()?->url(),
|
|
'language' => $kirby->language()?->code() ?? 'fr',
|
|
'languages' => $kirby->languages()->map(function($l) {
|
|
return [
|
|
'code' => $l->code(),
|
|
'name' => $l->name()
|
|
];
|
|
})->values(),
|
|
'navigation' => $site->main_navigation()->toStructure()->map(function($item) use ($kirby) {
|
|
$linkedPage = $item->link()->toPages()->first();
|
|
return [
|
|
'label_fr' => $item->label_fr()->value(),
|
|
'label_en' => $item->label_en()->value(),
|
|
'url' => $linkedPage?->url(),
|
|
'isActive' => $linkedPage?->isOpen() ?? false
|
|
];
|
|
})->values()
|
|
]
|
|
];
|
|
|
|
return [
|
|
'genericData' => $genericData
|
|
];
|
|
};
|