61 lines
1.9 KiB
PHP
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')),
|
|
],
|
|
]);
|
|
}
|
|
}
|