<?php
namespace App\EventSubscriber;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\Event\RequestEvent;
use Symfony\Component\HttpKernel\KernelEvents;
class BrandingContextSubscriber implements EventSubscriberInterface
{
public static function getSubscribedEvents(): array
{
return [
KernelEvents::REQUEST => [['onKernelRequest', 10]],
];
}
public function onKernelRequest(RequestEvent $event)
{
if (!$event->isMainRequest()) {
return;
}
$request = $event->getRequest();
$session = $request->getSession();
$path = $request->getPathInfo();
// 1. Si la URL empieza por /venues, forzamos el contexto de Venues (Verde)
if (str_starts_with($path, '/venues')) {
$session->set('current_access_type', 'venues');
}
// 2. Si la URL empieza por /catering o /higotrigo, forzamos Catering (Naranja)
elseif (str_starts_with($path, '/catering') || str_starts_with($path, '/higotrigo')) {
$session->set('current_access_type', 'catering');
}
// 3. Si la URL empieza por /avexpress, forzamos AV (Verde agua/Cyan)
elseif (str_starts_with($path, '/avexpress')) {
$session->set('current_access_type', 'av');
}
}
}