<?php
namespace App\Controller;
use App\Email\DefaultTemplatedEmail;
use App\Entity\Newsletter;
use App\Form\NewsletterType;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Mailer\Exception\TransportExceptionInterface;
use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\Mime\Address;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
class PageController extends AbstractController
{
#[Route('/', name: 'homepage')]
public function homeAction(): RedirectResponse
{
if ($this->getUser()) {
return $this->redirectToRoute('user_homepage');
}
return $this->redirectToRoute('login_register');
}
#[Route('/home-mobile', name: 'homepage_mobile')]
public function homeMobileAction()
{
return $this->render('Nav/navApp.html.twig');
}
#[Route('/portal', name: 'portal')]
public function portalAction(Request $request): RedirectResponse
{
$request->getSession()->clear();
return $this->redirect($this->getParameter('portal_url'));
}
#[Route('/page/{folder}/{page}', name: 'page_display')]
public function display(?string $folder = null, string $page = 'index'): Response
{
$fileName = str_replace('-', '_', $page);
if ($folder !== null) {
$folder = implode('', array_map(fn($item) => ucfirst(strtolower($item)), explode('-', $folder)));
$fileName = "$folder/$fileName";
}
return $this->render("Page/$fileName.html.twig");
}
}