<?php

namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;

#[Route('/map')]
class MapController extends AbstractController
{
    #[Route('/popup', name: 'app_map_popup')]
    public function popup(Request $request): Response
    {
        $element = json_decode($request->query->get('element'), true);

        $josmCommands = [
            'imagery' => [
                'id' => 'osmfr',
            ],
            'load_and_zoom' => [
                'bottom' => $element['bounds']['minlat'],
                'top' => $element['bounds']['maxlat'],
                'left' => $element['bounds']['minlon'],
                'right' => $element['bounds']['maxlon'],
                'select' => sprintf('%s%d', $element['type'], $element['id']),
            ],
        ];

        return $this->render('partials/_overpass-element-popup.html.twig', [
            'element' => $element,
            'josmCommands' => json_encode($josmCommands),
        ]);
    }
}