<?php
namespace App\Controller;
use App\Form\ContactFormType;
use App\Request\ContactFormRequest;
use App\Service\EmailService;
use Karser\Recaptcha3Bundle\Validator\Constraints\Recaptcha3Validator;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
class ContactsController extends AbstractController
{
/**
* @Route("/contact-us", name="contactUs")
*/
public function index(Request $request, EmailService $emailService, Recaptcha3Validator $recaptcha3Validator)
{
$contactFormRequest = new ContactFormRequest();
$form = $this->createForm(ContactFormType::class, $contactFormRequest);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$score = $recaptcha3Validator->getLastResponse()->getScore();
$emailService->sendContactForm($contactFormRequest);
$this->addFlash('contact-form-success', 'Your message has been sent. Thank you!');
return $this->redirectToRoute('contactUs');
}
return $this->render('contact/index.html.twig', [
'form' => $form->createView(),
]);
}
}