ldc-bien-etre-animal/app/Http/Controllers/Front/JoinGroupController.php

52 lines
1.9 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Http\Controllers\Front;
use App\Events\JoinGroupRequested;
use App\Http\Requests\JoinGroupRequest;
use Illuminate\Http\RedirectResponse;
use Inertia\Inertia;
use Inertia\Response;
use Uwil\LaravelCommon\Controllers\CommonController;
use Uwil\LaravelSchemaOrg\Services\SchemaOrgService;
class JoinGroupController extends CommonController
{
public function index(SchemaOrgService $schemaOrg): Response
{
$trans = trans('join_group_page');
return Inertia::render('front/Pages/JoinTheGroup', [
'metaTitle' => $trans['meta']['seo_title'],
'metaDescription' => $trans['meta']['seo_description'],
'communities' => [
['label' => 'La Communauté Amont', 'value' => 'amont'],
['label' => 'La Communauté Aval', 'value' => 'aval'],
['label' => 'La Communauté Transformateurs', 'value' => 'transformateurs'],
['label' => 'La Communauté Scientifique', 'value' => 'scientifique'],
['label' => 'La Communauté Autres Parties Prenantes', 'value' => 'autres'],
],
'schemas' => [
$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')),
],
]);
}
public function store(JoinGroupRequest $request): RedirectResponse
{
JoinGroupRequested::dispatch($request->validated());
$request->hitEmailRateLimit();
return back()->with('success', true);
}
}