<?php

namespace App\Controller;

use App\Form\ContactType;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Mime\Email;

final class HomeController extends AbstractController
{
    #[Route('/', name: 'app_home')]
    public function index(
        Request $request,
        MailerInterface $mailer
    ): Response {
        $form = $this->createForm(ContactType::class);

        $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid()) {
            // Récupération des données du formulaire
            $data = $form->getData();
            //dd($data);
            // Construction de l'email
            $email = (new Email())
                ->from('contact@renfortimmo.fr')
                ->to('contact@renfortimmo.fr')
                ->subject('Nouvelle demande de consultation - ' . $data['profile'])
                ->html($this->renderView('mail/index.html.twig', [
                    'data' => $data
                ]));

            // Envoi de l'email
            $mailer->send($email);

            // Message de succès
            $this->addFlash('success', 'Votre demande a été envoyée avec succès ! Nous vous recontacterons dans les meilleurs délais.');

           // Redirection vers la route 'app_home' avec l’ancre '#contact'
            $url = $this->generateUrl('app_home');

            return $this->redirect($url);
        }

        return $this->render('home/index.html.twig', [
            'titre' => 'Renfort Immo',
            'form' => $form->createView()
        ]);
    }
}