<?php
namespace App\Controller\Component;
use App\Repository\CityRepository;
use App\Service\DefaultCityProvider;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
use Symfony\Component\Routing\Annotation\Route;
class HeaderController extends AbstractController
{
#[Route("/header/", name:"component.header")]
public function header(Request $request, CityRepository $cityRepository, DefaultCityProvider $defaultCityProvider): Response
{
$city = $request->query->get('city');
$city = $city ? $cityRepository->ofUriIdentity($city) : $defaultCityProvider->getDefaultCity();
if(!$request->isXmlHttpRequest()) {
throw new BadRequestHttpException();
}
return $this->render('_component/header.html.twig', [
'city' => $city,
]);
}
}