<?php
namespace App\Controller;
use App\Form\ContactType;
use App\Model\ContactModel;
use App\Service\MailChimpService;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class MainController extends AbstractController
{
/**
* @param Request $request
* @return Response
* @Route("/", name="home")
*/
public function index(Request $request): Response
{
return $this->render('main/index.html.twig', []);
}
/**
* @param Request $request
* @return Response
* @Route("/eligible", name="eligible")
*/
public function eligible(Request $request): Response
{
return $this->render('main/eligible.html.twig', []);
}
/**
* @param Request $request
* @return Response
* @Route("/eligible-result", name="eligible_result")
*/
public function eligibleResult(Request $request): Response
{
return $this->render('main/eligible-result.html.twig', []);
}
/**
* @param Request $request
* @return Response
* @Route("/eligible-error", name="eligible_error")
*/
public function eligibleError(Request $request): Response
{
return $this->render('main/eligible-error.html.twig', []);
}
/**
* @param Request $request
* @return Response
* @Route("/subscribe", name="subscribe")
*/
public function subscribe(Request $request): Response
{
return $this->render('main/subscribe.html.twig', []);
}
/**
* @param Request $request
* @return Response
* @Route("/subscribe-error", name="subscribe_error")
*/
public function subscribeError(Request $request): Response
{
return $this->render('main/subscription-error.html.twig', []);
}
/**
* @param Request $request
* @return Response
* @Route("/user", name="user")
*/
public function user(Request $request): Response
{
return $this->render('main/user-information.html.twig', []);
}
/**
* @param Request $request
* @return Response
* @Route("/contact", name="contact")
*/
public function contact(Request $request, MailChimpService $chimpService): Response
{
$model = new ContactModel();
$form = $this->createForm(ContactType::class, $model);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$referer = $request->headers->get('referer');
$chimpService->addMemberToList($model->getEmail());
}
return $this->render('main/contact.html.twig', [
'form' => $form->createView()
]);
}
}