var/cache/review/twig/fe/fe6ae84e185bac133a8df8c62c15d6de.php line 42

Open in your IDE?
  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\SandboxExtension;
  6. use Twig\Markup;
  7. use Twig\Sandbox\SecurityError;
  8. use Twig\Sandbox\SecurityNotAllowedTagError;
  9. use Twig\Sandbox\SecurityNotAllowedFilterError;
  10. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  11. use Twig\Source;
  12. use Twig\Template;
  13. /* Map/page.html.twig */
  14. class __TwigTemplate_a28a045d3be3f3299f645cdfe29370c8 extends Template
  15. {
  16.     private $source;
  17.     private $macros = [];
  18.     public function __construct(Environment $env)
  19.     {
  20.         parent::__construct($env);
  21.         $this->source $this->getSourceContext();
  22.         $this->blocks = [
  23.             'preconnect' => [$this'block_preconnect'],
  24.             'wrapper_class' => [$this'block_wrapper_class'],
  25.             'mainContainer' => [$this'block_mainContainer'],
  26.             'javascripts' => [$this'block_javascripts'],
  27.             'modal' => [$this'block_modal'],
  28.         ];
  29.     }
  30.     protected function doGetParent(array $context)
  31.     {
  32.         // line 1
  33.         return "__design/v2023/grid-map.html.twig";
  34.     }
  35.     protected function doDisplay(array $context, array $blocks = [])
  36.     {
  37.         $macros $this->macros;
  38.         $__internal_b91a4435ea3baf1e2b6bfda56133dace $this->extensions["Sentry\\SentryBundle\\Tracing\\Twig\\TwigTracingExtension"];
  39.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->enter($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Map/page.html.twig"));
  40.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  41.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Map/page.html.twig"));
  42.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  43.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Map/page.html.twig"));
  44.         $this->parent $this->loadTemplate("__design/v2023/grid-map.html.twig""Map/page.html.twig"1);
  45.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  46.         
  47.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->leave($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof);
  48.         
  49.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  50.         
  51.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  52.     }
  53.     // line 3
  54.     public function block_preconnect($context, array $blocks = [])
  55.     {
  56.         $macros $this->macros;
  57.         $__internal_b91a4435ea3baf1e2b6bfda56133dace $this->extensions["Sentry\\SentryBundle\\Tracing\\Twig\\TwigTracingExtension"];
  58.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->enter($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""preconnect"));
  59.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  60.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""preconnect"));
  61.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  62.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""preconnect"));
  63.         // line 4
  64.         echo "\t";
  65.         $this->displayParentBlock("preconnect"$context$blocks);
  66.         echo "
  67. \t<link rel=\"preconnect\" href=\"https://yastatic.net\">
  68. \t<link rel=\"preconnect\" href=\"https://api-maps.yandex.ru\">
  69. ";
  70.         
  71.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  72.         
  73.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  74.         
  75.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->leave($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof);
  76.     }
  77.     // line 11
  78.     public function block_wrapper_class($context, array $blocks = [])
  79.     {
  80.         $macros $this->macros;
  81.         $__internal_b91a4435ea3baf1e2b6bfda56133dace $this->extensions["Sentry\\SentryBundle\\Tracing\\Twig\\TwigTracingExtension"];
  82.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->enter($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""wrapper_class"));
  83.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  84.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""wrapper_class"));
  85.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  86.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""wrapper_class"));
  87.         echo " wrapper--map";
  88.         
  89.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  90.         
  91.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  92.         
  93.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->leave($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof);
  94.     }
  95.     // line 13
  96.     public function block_mainContainer($context, array $blocks = [])
  97.     {
  98.         $macros $this->macros;
  99.         $__internal_b91a4435ea3baf1e2b6bfda56133dace $this->extensions["Sentry\\SentryBundle\\Tracing\\Twig\\TwigTracingExtension"];
  100.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->enter($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""mainContainer"));
  101.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  102.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""mainContainer"));
  103.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  104.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""mainContainer"));
  105.         // line 14
  106.         echo "
  107. \t";
  108.         // line 16
  109.         echo "
  110. \t<h1 class=\"d-none\">";
  111.         // line 17
  112.         echo (($this->extensions['App\Twig\SeoExtension']->pageHeading()) ? ($this->extensions['App\Twig\SeoExtension']->pageHeading()) : ("Интим карта"));
  113.         echo "</h1>
  114. \t<div class=\"map-page content\">
  115. \t\t<div class=\"map-heading container\">
  116. \t\t\t<button class=\"map-back btn btn-transparent\" type=\"button\" onclick=\"history.back()\">
  117. \t\t\t\t<svg class=\"btn-icon\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><path fill=\"#2C2C2C\" d=\"m17.83 20.13-1.77 1.77-9.9-9.9 9.9-9.9 1.77 1.77L9.7 12l8.13 8.13Z\"/></svg>
  118. \t\t\t\t<span class=\"btn-text\">Назад</span>
  119. \t\t\t</button>
  120. \t\t\t<button class=\"map-btn btn btn-grey\" type=\"button\" data-a11y-dialog-show=\"filter-dialog\">
  121. \t\t\t\t<svg class=\"btn-icon\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"><path d=\"M7.5 4.165a.833.833 0 1 0 0 1.666.833.833 0 0 0 0-1.666Zm-2.358 0a2.5 2.5 0 0 1 4.717 0h5.975a.833.833 0 1 1 0 1.666H9.859a2.5 2.5 0 0 1-4.717 0h-.975a.833.833 0 1 1 0-1.666h.975Zm7.359 5a.833.833 0 1 0 0 1.666.833.833 0 0 0 0-1.666Zm-2.359 0a2.501 2.501 0 0 1 4.717 0h.975a.833.833 0 1 1 0 1.667h-.975a2.502 2.502 0 0 1-4.717 0H4.167a.833.833 0 1 1 0-1.667h5.975Zm-2.641 5a.833.833 0 1 0 0 1.666.833.833 0 0 0 0-1.666Zm-2.359 0a2.5 2.5 0 0 1 4.717 0h5.975a.833.833 0 1 1 0 1.667H9.859a2.501 2.501 0 0 1-4.717 0h-.975a.833.833 0 1 1 0-1.667h.975Z\"/></svg>
  122. \t\t\t\t<span class=\"btn-text\">Фильтры</span>
  123. \t\t\t</button>
  124. \t\t</div>
  125. \t\t<div class=\"map-wrap skeleton skeleton--map loading\" id=\"map-wrap\"></div>
  126. \t</div>
  127. ";
  128.         
  129.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  130.         
  131.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  132.         
  133.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->leave($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof);
  134.     }
  135.     // line 35
  136.     public function block_javascripts($context, array $blocks = [])
  137.     {
  138.         $macros $this->macros;
  139.         $__internal_b91a4435ea3baf1e2b6bfda56133dace $this->extensions["Sentry\\SentryBundle\\Tracing\\Twig\\TwigTracingExtension"];
  140.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->enter($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascripts"));
  141.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  142.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascripts"));
  143.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  144.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascripts"));
  145.         // line 36
  146.         $this->displayParentBlock("javascripts"$context$blocks);
  147.         echo "
  148. \t";
  149.         // line 39
  150.         if ((array_key_exists("city"$context) && twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["city"]) || array_key_exists("city"$context) ? $context["city"] : (function () { throw new RuntimeError('Variable "city" does not exist.'39$this->source); })()), "mapCoordinate", [], "any"falsefalsefalse39), "latitude", [], "any"falsefalsefalse39))) {
  151.             // line 40
  152.             echo "\t\t";
  153.             $context["lat"] = twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["city"]) || array_key_exists("city"$context) ? $context["city"] : (function () { throw new RuntimeError('Variable "city" does not exist.'40$this->source); })()), "mapCoordinate", [], "any"falsefalsefalse40), "latitude", [], "any"falsefalsefalse40);
  154.             // line 41
  155.             echo "\t\t";
  156.             $context["lon"] = twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["city"]) || array_key_exists("city"$context) ? $context["city"] : (function () { throw new RuntimeError('Variable "city" does not exist.'41$this->source); })()), "mapCoordinate", [], "any"falsefalsefalse41), "longitude", [], "any"falsefalsefalse41);
  157.             // line 42
  158.             echo "\t";
  159.         } else {
  160.             // line 43
  161.             echo "\t\t";
  162.             $context["lat"] = "55.753215";
  163.             // line 44
  164.             echo "\t\t";
  165.             $context["lon"] = "37.622504";
  166.             // line 45
  167.             echo "\t";
  168.         }
  169.         // line 46
  170.         echo "
  171. \t<script src=\"";
  172.         // line 47
  173.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("bundles/fosjsrouting/js/router.min.js"), "html"nulltrue);
  174.         echo "\" defer></script>
  175. \t<script src=\"";
  176.         // line 48
  177.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("fos_js_routing_js", ["callback" => "fos.Router.setData"]);
  178.         echo "\" defer></script>
  179. \t<script src=\"https://api-maps.yandex.ru/2.1/?lang=ru_RU&onload=initMap&ns=ym\" defer></script>
  180. \t<script>
  181. \t\tconst mapConfig = {
  182. \t\t\tid:\"map-wrap\",
  183. \t\t\tmultiple_cities:\"";
  184.         // line 54
  185.         echo twig_escape_filter($this->env, (isset($context["multipleCities"]) || array_key_exists("multipleCities"$context) ? $context["multipleCities"] : (function () { throw new RuntimeError('Variable "multipleCities" does not exist.'54$this->source); })()), "html"nulltrue);
  186.         echo "\",
  187. \t\t\troutes_url: \"";
  188.         // line 55
  189.         echo ((((isset($context["multipleCities"]) || array_key_exists("multipleCities"$context) ? $context["multipleCities"] : (function () { throw new RuntimeError('Variable "multipleCities" does not exist.'55$this->source); })()) == 0)) ? ("/js/fos_js_routes.json") : ("/js/fos_js_routes_city_prefixed.json"));
  190.         echo "\",
  191. \t\t\tcity_uri_identity:\"";
  192.         // line 56
  193.         echo twig_escape_filter($this->env, (isset($context["cityUriIdentity"]) || array_key_exists("cityUriIdentity"$context) ? $context["cityUriIdentity"] : (function () { throw new RuntimeError('Variable "cityUriIdentity" does not exist.'56$this->source); })()), "html"nulltrue);
  194.         echo "\",
  195. \t\t\tcity_latitude:\"";
  196.         // line 57
  197.         echo twig_escape_filter($this->env, (isset($context["lat"]) || array_key_exists("lat"$context) ? $context["lat"] : (function () { throw new RuntimeError('Variable "lat" does not exist.'57$this->source); })()), "html"nulltrue);
  198.         echo "\",
  199. \t\t\tcity_longitude:\"";
  200.         // line 58
  201.         echo twig_escape_filter($this->env, (isset($context["lon"]) || array_key_exists("lon"$context) ? $context["lon"] : (function () { throw new RuntimeError('Variable "lon" does not exist.'58$this->source); })()), "html"nulltrue);
  202.         echo "\",
  203. \t\t\tlocale:\"";
  204.         // line 59
  205.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'59$this->source); })()), "request", [], "any"falsefalsefalse59), "locale", [], "any"falsefalsefalse59), "html"nulltrue);
  206.         echo "\",
  207. \t\t\tpath:\"";
  208.         // line 60
  209.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("map.filter", ["city" => (isset($context["cityUriIdentity"]) || array_key_exists("cityUriIdentity"$context) ? $context["cityUriIdentity"] : (function () { throw new RuntimeError('Variable "cityUriIdentity" does not exist.'60$this->source); })())]), "html"nulltrue);
  210.         echo "\",
  211. \t\t\ticon_profile:\"";
  212.         // line 62
  213.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/profile.svg"), "html"nulltrue);
  214.         echo "\",
  215. \t\t\ticon_profile_active:\"";
  216.         // line 63
  217.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/profile-active.svg"), "html"nulltrue);
  218.         echo "\",
  219. \t\t\ticon_profile_hover:\"";
  220.         // line 64
  221.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/profile-hover.svg"), "html"nulltrue);
  222.         echo "\",
  223. \t\t\ticon_saloon:\"";
  224.         // line 66
  225.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/saloon.svg"), "html"nulltrue);
  226.         echo "\",
  227. \t\t\ticon_saloon_active:\"";
  228.         // line 67
  229.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/saloon-active.svg"), "html"nulltrue);
  230.         echo "\",
  231. \t\t\ticon_saloon_hover:\"";
  232.         // line 68
  233.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/saloon-hover.svg"), "html"nulltrue);
  234.         echo "\",
  235. \t\t\ticon_masseur:\"";
  236.         // line 70
  237.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/masseur.svg"), "html"nulltrue);
  238.         echo "\",
  239. \t\t\ticon_masseur_active:\"";
  240.         // line 71
  241.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/masseur-active.svg"), "html"nulltrue);
  242.         echo "\",
  243. \t\t\ticon_masseur_hover:\"";
  244.         // line 72
  245.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/masseur-hover.svg"), "html"nulltrue);
  246.         echo "\",
  247. \t\t\ticon_cluster_small:\"";
  248.         // line 74
  249.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/cluster-small.svg"), "html"nulltrue);
  250.         echo "\",
  251. \t\t\ticon_cluster_medium:\"";
  252.         // line 75
  253.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/cluster-medium.svg"), "html"nulltrue);
  254.         echo "\",
  255. \t\t\ticon_cluster_big:\"";
  256.         // line 76
  257.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/cluster-big.svg"), "html"nulltrue);
  258.         echo "\",
  259. \t\t\tavatar_path : \"";
  260.         // line 78
  261.         echo twig_escape_filter($this->env$this->extensions['App\Twig\ResponsiveAssetExtension']->getResponsiveImageUrl("replace_path""profile_media_avatar""200x280""jpg"), "html"nulltrue);
  262.         echo "\",
  263. \t\t\tphoto_path : \"";
  264.         // line 79
  265.         echo twig_escape_filter($this->env$this->extensions['App\Twig\ResponsiveAssetExtension']->getResponsiveImageUrl("replace_path""profile_media""200x280""jpg"), "html"nulltrue);
  266.         echo "\",
  267. \t\t\tthumb_path : \"";
  268.         // line 80
  269.         echo twig_escape_filter($this->env$this->extensions['App\Twig\ResponsiveAssetExtension']->getResponsiveImageUrl("replace_path""saloon_media_thumb""200x280""jpg"), "html"nulltrue);
  270.         echo "\",
  271. \t\t\tprocess_profile_shows_url  : \"";
  272.         // line 81
  273.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("map.increment_profile_shows", (((isset($context["multipleCities"]) || array_key_exists("multipleCities"$context) ? $context["multipleCities"] : (function () { throw new RuntimeError('Variable "multipleCities" does not exist.'81$this->source); })())) ? (["city" => (isset($context["cityUriIdentity"]) || array_key_exists("cityUriIdentity"$context) ? $context["cityUriIdentity"] : (function () { throw new RuntimeError('Variable "cityUriIdentity" does not exist.'81$this->source); })())]) : ([]))), "html"nulltrue);
  274.         echo "\"
  275. \t\t};
  276. \t\tvar isMapInitialized = false;
  277. \t\tvar yaMapLoaded = false;
  278. \t\tfunction initMap() {
  279. \t\t\t//console.log('initMap');
  280. \t\t\twindow.ymap = new ym.Map(document.getElementById('map-wrap'), {
  281. \t\t\t\tcenter: [\"";
  282.         // line 89
  283.         echo twig_escape_filter($this->env, (isset($context["lat"]) || array_key_exists("lat"$context) ? $context["lat"] : (function () { throw new RuntimeError('Variable "lat" does not exist.'89$this->source); })()), "html"nulltrue);
  284.         echo "\", \"";
  285.         echo twig_escape_filter($this->env, (isset($context["lon"]) || array_key_exists("lon"$context) ? $context["lon"] : (function () { throw new RuntimeError('Variable "lon" does not exist.'89$this->source); })()), "html"nulltrue);
  286.         echo "\"],
  287. \t\t\t\tzoom: 8,
  288. \t\t\t\tcontrols: ['zoomControl', 'typeSelector',  'fullscreenControl']
  289. \t\t\t});
  290. \t\t\tyaMapLoaded = true;
  291. \t\t\t//if (!isMapInitialized) {
  292. \t\t\t//\tconsole.log('new mapPage initMap');
  293. \t\t\t//\tisMapInitialized = true;
  294. \t\t\t//\tnew MapPage(mapConfig);
  295. \t\t\t//}
  296. \t\t}
  297. \t\twindow.profileShowed = function ({id}) {
  298. \t\t\tif (!id) return;
  299. \t\t\tfetch('";
  300.         // line 104
  301.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("profile_ctr.increase_shows");
  302.         echo "', {
  303. \t\t\t\tmethod: \"POST\",
  304. \t\t\t\tbody: JSON.stringify({ profiles: [id], source: 'map' }),
  305. \t\t\t});
  306. \t\t}
  307. \t\twindow.stations = {";
  308.         // line 111
  309.         $context['_parent'] = $context;
  310.         $context['_seq'] = twig_ensure_traversable($this->extensions['App\Twig\StationsExtension']->stations());
  311.         $context['loop'] = [
  312.           'parent' => $context['_parent'],
  313.           'index0' => 0,
  314.           'index'  => 1,
  315.           'first'  => true,
  316.         ];
  317.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  318.             $length count($context['_seq']);
  319.             $context['loop']['revindex0'] = $length 1;
  320.             $context['loop']['revindex'] = $length;
  321.             $context['loop']['length'] = $length;
  322.             $context['loop']['last'] = === $length;
  323.         }
  324.         foreach ($context['_seq'] as $context["_key"] => $context["station"]) {
  325.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["station"], "id", [], "any"falsefalsefalse111), "html"nulltrue);
  326.             echo ":{icon:`";
  327.             $this->loadTemplate("components/metro/icon_generate.partial.twig""Map/page.html.twig"111)->display(twig_array_merge($context, ["data" => $this->extensions['App\Twig\StationsExtension']->stationLines($context["station"])]));
  328.             echo "`,name:`";
  329.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["station"], "name", [], "any"falsefalsefalse111), "html"nulltrue);
  330.             echo "`},";
  331.             ++$context['loop']['index0'];
  332.             ++$context['loop']['index'];
  333.             $context['loop']['first'] = false;
  334.             if (isset($context['loop']['length'])) {
  335.                 --$context['loop']['revindex0'];
  336.                 --$context['loop']['revindex'];
  337.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  338.             }
  339.         }
  340.         $_parent $context['_parent'];
  341.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['station'], $context['_parent'], $context['loop']);
  342.         $context array_intersect_key($context$_parent) + $_parent;
  343.         // line 112
  344.         echo "};
  345. \t\tdocument.addEventListener('DOMContentLoaded', function () {
  346. \t\t\tfunction loadForm() {
  347. \t\t\t\tfetch('";
  348.         // line 115
  349.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("map.form", ["city" => (isset($context["cityUriIdentity"]) || array_key_exists("cityUriIdentity"$context) ? $context["cityUriIdentity"] : (function () { throw new RuntimeError('Variable "cityUriIdentity" does not exist.'115$this->source); })())]), "html"nulltrue);
  350.         echo "', {
  351. \t\t\t\t\tmode: \"cors\",
  352. \t\t\t\t\timportance: \"low\",
  353. \t\t\t\t\tmethod: \"POST\",
  354. \t\t\t\t\theaders: {
  355. \t\t\t\t\t\t\"Content-Type\": \"application/x-www-form-urlencoded\",
  356. \t\t\t\t\t\t\"X-Requested-With\": \"XMLHttpRequest\"
  357. \t\t\t\t\t},
  358. \t\t\t\t}).then(response => {
  359. \t\t\t\t\tif (response.status < 300) {
  360. \t\t\t\t\t\treturn response.text();
  361. \t\t\t\t\t} else {
  362. \t\t\t\t\t\tconsole.warn(\"🤔\");
  363. \t\t\t\t\t\treturn null;
  364. \t\t\t\t\t}
  365. \t\t\t\t}).then(response => {
  366. \t\t\t\t\tdocument.getElementById('dialog-form').innerHTML = response;
  367. \t\t\t\t\tfilterLoader()
  368. \t\t\t\t});
  369. \t\t\t}
  370. \t\t\tloadForm();
  371. \t\t\tfunction filterLoader() {
  372. \t\t\t\tconst stringifyData = `{\"city_id\":\"\${document.getElementById('filter_map_form_city_id').value}\",\"_token\":\"\${document.getElementById('filter_map_form__token').value}\"}`;
  373. \t\t\t\tfetch(\"";
  374.         // line 140
  375.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("map.filter", ["city" => (isset($context["cityUriIdentity"]) || array_key_exists("cityUriIdentity"$context) ? $context["cityUriIdentity"] : (function () { throw new RuntimeError('Variable "cityUriIdentity" does not exist.'140$this->source); })())]), "html"nulltrue);
  376.         echo "\", {
  377. \t\t\t\t\tmethod: \"POST\",
  378. \t\t\t\t\theaders: {
  379. \t\t\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
  380. \t\t\t\t\t\t'X-Requested-With': 'XMLHttpRequest',
  381. \t\t\t\t\t},
  382. \t\t\t\t\tbody: new URLSearchParams({ form: stringifyData }).toString(),
  383. \t\t\t\t})
  384. \t\t\t\t\t.then(response => response.json())
  385. \t\t\t\t\t.then(data => {
  386. \t\t\t\t\t\t//console.log('map-data-loaded')
  387. \t\t\t\t\t\tconst mapLoadedInterval = setInterval(()=>{
  388. \t\t\t\t\t\t\tif (yaMapLoaded) {
  389. \t\t\t\t\t\t\t\tnew MapPage(mapConfig);
  390. \t\t\t\t\t\t\t\tdocument.dispatchEvent(new CustomEvent('map:data:loaded', { detail: { data, stringifyData } }));
  391. \t\t\t\t\t\t\t\tclearInterval(mapLoadedInterval)
  392. \t\t\t\t\t\t\t}
  393. \t\t\t\t\t\t}, 200)
  394. \t\t\t\t\t})
  395. \t\t\t\t\t.catch(error => console.error(error));
  396. \t\t\t\t//if (!isMapInitialized) {
  397. \t\t\t\t//\tconsole.log('new mapPage filterLoader');
  398. \t\t\t\t//\tisMapInitialized = true;
  399. \t\t\t\t//\tnew MapPage(mapConfig);
  400. \t\t\t\t//}
  401. \t\t\t}
  402. \t\t})
  403. \t</script>
  404. ";
  405.         
  406.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  407.         
  408.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  409.         
  410.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->leave($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof);
  411.     }
  412.     // line 173
  413.     public function block_modal($context, array $blocks = [])
  414.     {
  415.         $macros $this->macros;
  416.         $__internal_b91a4435ea3baf1e2b6bfda56133dace $this->extensions["Sentry\\SentryBundle\\Tracing\\Twig\\TwigTracingExtension"];
  417.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->enter($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""modal"));
  418.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  419.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""modal"));
  420.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  421.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""modal"));
  422.         // line 174
  423.         $this->displayParentBlock("modal"$context$blocks);
  424.         // line 175
  425.         echo twig_include($this->env$context"__design/v2023/components/modal/filter.html.twig");
  426.         
  427.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  428.         
  429.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  430.         
  431.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->leave($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof);
  432.     }
  433.     /**
  434.      * @codeCoverageIgnore
  435.      */
  436.     public function getTemplateName()
  437.     {
  438.         return "Map/page.html.twig";
  439.     }
  440.     /**
  441.      * @codeCoverageIgnore
  442.      */
  443.     public function isTraitable()
  444.     {
  445.         return false;
  446.     }
  447.     /**
  448.      * @codeCoverageIgnore
  449.      */
  450.     public function getDebugInfo()
  451.     {
  452.         return array (  489 => 175,  487 => 174,  474 => 173,  429 => 140,  401 => 115,  396 => 112,  361 => 111,  352 => 104,  332 => 89,  321 => 81,  317 => 80,  313 => 79,  309 => 78,  304 => 76,  300 => 75,  296 => 74,  291 => 72,  287 => 71,  283 => 70,  278 => 68,  274 => 67,  270 => 66,  265 => 64,  261 => 63,  257 => 62,  252 => 60,  248 => 59,  244 => 58,  240 => 57,  236 => 56,  232 => 55,  228 => 54,  219 => 48,  215 => 47,  212 => 46,  209 => 45,  206 => 44,  203 => 43,  200 => 42,  197 => 41,  194 => 40,  192 => 39,  186 => 36,  173 => 35,  143 => 17,  140 => 16,  137 => 14,  124 => 13,  99 => 11,  81 => 4,  68 => 3,  39 => 1,);
  453.     }
  454.     public function getSourceContext()
  455.     {
  456.         return new Source("{% extends '__design/v2023/grid-map.html.twig' %}
  457. {% block preconnect %}
  458. \t{{ parent() }}
  459. \t<link rel=\"preconnect\" href=\"https://yastatic.net\">
  460. \t<link rel=\"preconnect\" href=\"https://api-maps.yandex.ru\">
  461. {% endblock %}
  462. {# {% block stylesheet_postload %}{{ encore_entry_link_tags(\"styles/public-map-page\") }}{{ parent() }} #}
  463. \t{# <link rel=\"stylesheet\" href=\"//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css\">{% endblock %} #}
  464. {% block wrapper_class %} wrapper--map{% endblock %}
  465. {% block mainContainer %}
  466. \t{# {{- knp_menu_render('breadcrumbs', {'template': '__design/v2023/_menu/breadcrumbs.html.twig' }) -}} #}
  467. \t<h1 class=\"d-none\">{{ seo_heading() ? seo_heading() : 'Интим карта' }}</h1>
  468. \t<div class=\"map-page content\">
  469. \t\t<div class=\"map-heading container\">
  470. \t\t\t<button class=\"map-back btn btn-transparent\" type=\"button\" onclick=\"history.back()\">
  471. \t\t\t\t<svg class=\"btn-icon\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><path fill=\"#2C2C2C\" d=\"m17.83 20.13-1.77 1.77-9.9-9.9 9.9-9.9 1.77 1.77L9.7 12l8.13 8.13Z\"/></svg>
  472. \t\t\t\t<span class=\"btn-text\">Назад</span>
  473. \t\t\t</button>
  474. \t\t\t<button class=\"map-btn btn btn-grey\" type=\"button\" data-a11y-dialog-show=\"filter-dialog\">
  475. \t\t\t\t<svg class=\"btn-icon\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"><path d=\"M7.5 4.165a.833.833 0 1 0 0 1.666.833.833 0 0 0 0-1.666Zm-2.358 0a2.5 2.5 0 0 1 4.717 0h5.975a.833.833 0 1 1 0 1.666H9.859a2.5 2.5 0 0 1-4.717 0h-.975a.833.833 0 1 1 0-1.666h.975Zm7.359 5a.833.833 0 1 0 0 1.666.833.833 0 0 0 0-1.666Zm-2.359 0a2.501 2.501 0 0 1 4.717 0h.975a.833.833 0 1 1 0 1.667h-.975a2.502 2.502 0 0 1-4.717 0H4.167a.833.833 0 1 1 0-1.667h5.975Zm-2.641 5a.833.833 0 1 0 0 1.666.833.833 0 0 0 0-1.666Zm-2.359 0a2.5 2.5 0 0 1 4.717 0h5.975a.833.833 0 1 1 0 1.667H9.859a2.501 2.501 0 0 1-4.717 0h-.975a.833.833 0 1 1 0-1.667h.975Z\"/></svg>
  476. \t\t\t\t<span class=\"btn-text\">Фильтры</span>
  477. \t\t\t</button>
  478. \t\t</div>
  479. \t\t<div class=\"map-wrap skeleton skeleton--map loading\" id=\"map-wrap\"></div>
  480. \t</div>
  481. {% endblock %}
  482. {%- block javascripts -%}
  483. \t{{ parent() }}
  484. \t{% if city is defined and city.mapCoordinate.latitude %}
  485. \t\t{% set lat = city.mapCoordinate.latitude %}
  486. \t\t{% set lon = city.mapCoordinate.longitude %}
  487. \t{% else %}
  488. \t\t{% set lat = '55.753215' %}
  489. \t\t{% set lon = '37.622504' %}
  490. \t{% endif %}
  491. \t<script src=\"{{ asset('bundles/fosjsrouting/js/router.min.js') }}\" defer></script>
  492. \t<script src=\"{{ path('fos_js_routing_js', { callback: 'fos.Router.setData' }) }}\" defer></script>
  493. \t<script src=\"https://api-maps.yandex.ru/2.1/?lang=ru_RU&onload=initMap&ns=ym\" defer></script>
  494. \t<script>
  495. \t\tconst mapConfig = {
  496. \t\t\tid:\"map-wrap\",
  497. \t\t\tmultiple_cities:\"{{ multipleCities }}\",
  498. \t\t\troutes_url: \"{{ multipleCities == 0 ? '/js/fos_js_routes.json' : '/js/fos_js_routes_city_prefixed.json' }}\",
  499. \t\t\tcity_uri_identity:\"{{ cityUriIdentity }}\",
  500. \t\t\tcity_latitude:\"{{ lat }}\",
  501. \t\t\tcity_longitude:\"{{ lon }}\",
  502. \t\t\tlocale:\"{{ app.request.locale }}\",
  503. \t\t\tpath:\"{{ path('map.filter', {city:cityUriIdentity}) }}\",
  504. \t\t\ticon_profile:\"{{ asset('assets/images/map/profile.svg') }}\",
  505. \t\t\ticon_profile_active:\"{{ asset('assets/images/map/profile-active.svg') }}\",
  506. \t\t\ticon_profile_hover:\"{{ asset('assets/images/map/profile-hover.svg') }}\",
  507. \t\t\ticon_saloon:\"{{ asset('assets/images/map/saloon.svg') }}\",
  508. \t\t\ticon_saloon_active:\"{{ asset('assets/images/map/saloon-active.svg') }}\",
  509. \t\t\ticon_saloon_hover:\"{{ asset('assets/images/map/saloon-hover.svg') }}\",
  510. \t\t\ticon_masseur:\"{{ asset('assets/images/map/masseur.svg') }}\",
  511. \t\t\ticon_masseur_active:\"{{ asset('assets/images/map/masseur-active.svg') }}\",
  512. \t\t\ticon_masseur_hover:\"{{ asset('assets/images/map/masseur-hover.svg') }}\",
  513. \t\t\ticon_cluster_small:\"{{ asset('assets/images/map/cluster-small.svg') }}\",
  514. \t\t\ticon_cluster_medium:\"{{ asset('assets/images/map/cluster-medium.svg') }}\",
  515. \t\t\ticon_cluster_big:\"{{ asset('assets/images/map/cluster-big.svg') }}\",
  516. \t\t\tavatar_path : \"{{ responsive_asset('replace_path', 'profile_media_avatar', \"200x280\", \"jpg\") }}\",
  517. \t\t\tphoto_path : \"{{ responsive_asset('replace_path', 'profile_media', \"200x280\", \"jpg\") }}\",
  518. \t\t\tthumb_path : \"{{ responsive_asset('replace_path', 'saloon_media_thumb', \"200x280\", \"jpg\") }}\",
  519. \t\t\tprocess_profile_shows_url  : \"{{ path('map.increment_profile_shows', multipleCities ? {city:cityUriIdentity} : {}) }}\"
  520. \t\t};
  521. \t\tvar isMapInitialized = false;
  522. \t\tvar yaMapLoaded = false;
  523. \t\tfunction initMap() {
  524. \t\t\t//console.log('initMap');
  525. \t\t\twindow.ymap = new ym.Map(document.getElementById('map-wrap'), {
  526. \t\t\t\tcenter: [\"{{ lat }}\", \"{{ lon }}\"],
  527. \t\t\t\tzoom: 8,
  528. \t\t\t\tcontrols: ['zoomControl', 'typeSelector',  'fullscreenControl']
  529. \t\t\t});
  530. \t\t\tyaMapLoaded = true;
  531. \t\t\t//if (!isMapInitialized) {
  532. \t\t\t//\tconsole.log('new mapPage initMap');
  533. \t\t\t//\tisMapInitialized = true;
  534. \t\t\t//\tnew MapPage(mapConfig);
  535. \t\t\t//}
  536. \t\t}
  537. \t\twindow.profileShowed = function ({id}) {
  538. \t\t\tif (!id) return;
  539. \t\t\tfetch('{{ path('profile_ctr.increase_shows') }}', {
  540. \t\t\t\tmethod: \"POST\",
  541. \t\t\t\tbody: JSON.stringify({ profiles: [id], source: 'map' }),
  542. \t\t\t});
  543. \t\t}
  544. \t\twindow.stations = {
  545. \t\t\t{%- for station in stations() -%}{{- station.id -}}:{icon:`{%- include 'components/metro/icon_generate.partial.twig' with {data: station|station_lines} -%}`,name:`{{- station.name -}}`},{%- endfor -%}
  546. \t\t};
  547. \t\tdocument.addEventListener('DOMContentLoaded', function () {
  548. \t\t\tfunction loadForm() {
  549. \t\t\t\tfetch('{{ path('map.form', {city: cityUriIdentity}) }}', {
  550. \t\t\t\t\tmode: \"cors\",
  551. \t\t\t\t\timportance: \"low\",
  552. \t\t\t\t\tmethod: \"POST\",
  553. \t\t\t\t\theaders: {
  554. \t\t\t\t\t\t\"Content-Type\": \"application/x-www-form-urlencoded\",
  555. \t\t\t\t\t\t\"X-Requested-With\": \"XMLHttpRequest\"
  556. \t\t\t\t\t},
  557. \t\t\t\t}).then(response => {
  558. \t\t\t\t\tif (response.status < 300) {
  559. \t\t\t\t\t\treturn response.text();
  560. \t\t\t\t\t} else {
  561. \t\t\t\t\t\tconsole.warn(\"🤔\");
  562. \t\t\t\t\t\treturn null;
  563. \t\t\t\t\t}
  564. \t\t\t\t}).then(response => {
  565. \t\t\t\t\tdocument.getElementById('dialog-form').innerHTML = response;
  566. \t\t\t\t\tfilterLoader()
  567. \t\t\t\t});
  568. \t\t\t}
  569. \t\t\tloadForm();
  570. \t\t\tfunction filterLoader() {
  571. \t\t\t\tconst stringifyData = `{\"city_id\":\"\${document.getElementById('filter_map_form_city_id').value}\",\"_token\":\"\${document.getElementById('filter_map_form__token').value}\"}`;
  572. \t\t\t\tfetch(\"{{ path('map.filter', {city:cityUriIdentity}) }}\", {
  573. \t\t\t\t\tmethod: \"POST\",
  574. \t\t\t\t\theaders: {
  575. \t\t\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
  576. \t\t\t\t\t\t'X-Requested-With': 'XMLHttpRequest',
  577. \t\t\t\t\t},
  578. \t\t\t\t\tbody: new URLSearchParams({ form: stringifyData }).toString(),
  579. \t\t\t\t})
  580. \t\t\t\t\t.then(response => response.json())
  581. \t\t\t\t\t.then(data => {
  582. \t\t\t\t\t\t//console.log('map-data-loaded')
  583. \t\t\t\t\t\tconst mapLoadedInterval = setInterval(()=>{
  584. \t\t\t\t\t\t\tif (yaMapLoaded) {
  585. \t\t\t\t\t\t\t\tnew MapPage(mapConfig);
  586. \t\t\t\t\t\t\t\tdocument.dispatchEvent(new CustomEvent('map:data:loaded', { detail: { data, stringifyData } }));
  587. \t\t\t\t\t\t\t\tclearInterval(mapLoadedInterval)
  588. \t\t\t\t\t\t\t}
  589. \t\t\t\t\t\t}, 200)
  590. \t\t\t\t\t})
  591. \t\t\t\t\t.catch(error => console.error(error));
  592. \t\t\t\t//if (!isMapInitialized) {
  593. \t\t\t\t//\tconsole.log('new mapPage filterLoader');
  594. \t\t\t\t//\tisMapInitialized = true;
  595. \t\t\t\t//\tnew MapPage(mapConfig);
  596. \t\t\t\t//}
  597. \t\t\t}
  598. \t\t})
  599. \t</script>
  600. {% endblock %}
  601. {% block modal %}
  602. \t{{- parent() -}}
  603. \t{{- include('__design/v2023/components/modal/filter.html.twig') -}}
  604. {% endblock %}""Map/page.html.twig""/app/templates/Map/page.html.twig");
  605.     }
  606. }