ldc-bien-etre-animal/app/Http/Controllers/Front/LegacyPageController.php
2026-09-04 17:29:23 +02:00

61 lines
1.9 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Http\Controllers\Front;
use Illuminate\Support\Facades\App;
use Inertia\Inertia;
use Inertia\Response;
use Uwil\LaravelCommon\Controllers\CommonController;
use Uwil\LaravelSchemaOrg\Services\SchemaOrgService;
class LegacyPageController extends CommonController
{
public function __construct(private readonly SchemaOrgService $schemaOrg)
{
}
public function confidentialite(): Response
{
return $this->render('confidentialite');
}
public function mentionsLegales(): Response
{
return $this->render('mentions_legales');
}
private function render(string $page): Response
{
$locale = App::currentLocale();
$viewName = match ($locale) {
'fr' => "front.legacy.fr.{$page}",
'en' => "front.legacy.en.{$page}",
default => "front.legacy.fr.{$page}",
};
$trans = trans("legacy.{$page}");
return Inertia::render('front/Pages/LegacyPage', [
'metaTitle' => $trans['meta']['seo_title'],
'metaDescription' => $trans['meta']['seo_description'],
'headerTitle' => $trans['header']['title'],
'heading' => $trans['heading'],
// @phpstan-ignore-next-line argument.type
'content' => view($viewName)->render(),
'schemas' => [
$this->schemaOrg->setWebPage()
->headline($trans['meta']['seo_title'])
->description($trans['meta']['seo_description'])
->name($trans['header']['title'])
->isAccessibleForFree(true)
->keywords(['page'])
->dateCreated(new \DateTimeImmutable('2026-09-03'))
->dateModified(new \DateTimeImmutable('2026-09-03'))
->datePublished(new \DateTimeImmutable('2026-09-03')),
],
]);
}
}