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

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.             'title' => [$this'block_title'],
  24.             'metaDescription' => [$this'block_metaDescription'],
  25.             'stylesheet' => [$this'block_stylesheet'],
  26.             'preconnect' => [$this'block_preconnect'],
  27.             'name_page' => [$this'block_name_page'],
  28.             'mainContainer' => [$this'block_mainContainer'],
  29.             'javascripts' => [$this'block_javascripts'],
  30.             'modal' => [$this'block_modal'],
  31.         ];
  32.     }
  33.     protected function doGetParent(array $context)
  34.     {
  35.         // line 1
  36.         return "grid.html.twig";
  37.     }
  38.     protected function doDisplay(array $context, array $blocks = [])
  39.     {
  40.         $macros $this->macros;
  41.         $__internal_b91a4435ea3baf1e2b6bfda56133dace $this->extensions["Sentry\\SentryBundle\\Tracing\\Twig\\TwigTracingExtension"];
  42.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->enter($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Map/page.html.twig"));
  43.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  44.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Map/page.html.twig"));
  45.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  46.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Map/page.html.twig"));
  47.         $this->parent $this->loadTemplate("grid.html.twig""Map/page.html.twig"1);
  48.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  49.         
  50.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->leave($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof);
  51.         
  52.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  53.         
  54.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  55.     }
  56.     // line 3
  57.     public function block_title($context, array $blocks = [])
  58.     {
  59.         $macros $this->macros;
  60.         $__internal_b91a4435ea3baf1e2b6bfda56133dace $this->extensions["Sentry\\SentryBundle\\Tracing\\Twig\\TwigTracingExtension"];
  61.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->enter($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""title"));
  62.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  63.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""title"));
  64.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  65.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""title"));
  66.         // line 4
  67.         echo "    ";
  68.         echo twig_escape_filter($this->env$this->extensions['App\Twig\SeoExtension']->metaTitle(), "html"nulltrue);
  69.         echo "
  70. ";
  71.         
  72.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  73.         
  74.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  75.         
  76.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->leave($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof);
  77.     }
  78.     // line 7
  79.     public function block_metaDescription($context, array $blocks = [])
  80.     {
  81.         $macros $this->macros;
  82.         $__internal_b91a4435ea3baf1e2b6bfda56133dace $this->extensions["Sentry\\SentryBundle\\Tracing\\Twig\\TwigTracingExtension"];
  83.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->enter($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""metaDescription"));
  84.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  85.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""metaDescription"));
  86.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  87.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""metaDescription"));
  88.         // line 8
  89.         echo "    <meta name=\"description\" content=\"";
  90.         echo twig_escape_filter($this->env$this->extensions['App\Twig\SeoExtension']->metaDescription(), "html"nulltrue);
  91.         echo "\">
  92. ";
  93.         
  94.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  95.         
  96.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  97.         
  98.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->leave($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof);
  99.     }
  100.     // line 11
  101.     public function block_stylesheet($context, array $blocks = [])
  102.     {
  103.         $macros $this->macros;
  104.         $__internal_b91a4435ea3baf1e2b6bfda56133dace $this->extensions["Sentry\\SentryBundle\\Tracing\\Twig\\TwigTracingExtension"];
  105.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->enter($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  106.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  107.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  108.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  109.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  110.         // line 12
  111.         echo "    ";
  112.         $this->displayParentBlock("stylesheet"$context$blocks);
  113.         echo "
  114.     ";
  115.         // line 14
  116.         echo "
  117.     <style>
  118.     .ymaps-2-1-79-balloon__close+.ymaps-2-1-79-balloon__content {
  119.         margin-right: 0!important;
  120.             padding: 0!important;
  121.     }
  122.         .map-wrap {
  123.             width: 100%;
  124.             height: 700px;
  125.             border-radius: 20px;
  126.             overflow: hidden;
  127.         }
  128.         .map-model__info .info-title {
  129.             color: #fff;
  130.             font-size: 16px;
  131.             line-height: 19px;
  132.             overflow: hidden;
  133.             text-overflow: ellipsis;
  134.             white-space: nowrap;
  135.         }
  136.         .map-model__info .info-phone {
  137.             padding-top: 5px;
  138.         }
  139.         [class\$=\"-balloon-pane\"] ymaps {
  140.             box-shadow: none !important;
  141.             border: none !important;
  142.             background: #000;
  143.             border-radius: 12px;
  144.         }
  145.         .map-model__info .info-phone .phone {
  146.             color: #ed0c34;
  147.             font-size: 14px;
  148.             font-weight: 700;
  149.             line-height: 16px;
  150.             overflow: hidden;
  151.             text-overflow: ellipsis;
  152.             white-space: nowrap;
  153.         }
  154.         .map-model__info .info-phone span {
  155.             color: #ffb800;
  156.             font-size: 14px;
  157.             line-height: 16px;
  158.         }
  159.         .map-model-widget .map-model__info .info-phone span em,
  160.         .map-model__info .info-phone span em {
  161.             color: grey;
  162.             font-size: 12px;
  163.             font-style: normal;
  164.             line-height: 14px;
  165.         }
  166.         [class\$=\"-balloon-pane\"] .ymaps-2-1-79-balloon__close-button {
  167.             border-radius: 20px;
  168.         }
  169.         [class\$=\"-balloon-pane\"] .ymaps-2-1-79-balloon__tail {
  170.             border-radius: 0;
  171.         }
  172.         [class\$=\"-balloon-pane\"] .map-model__images img {
  173.             border-radius: 12px;
  174.         }
  175.         [class\$=-balloon__close] {
  176.             position: absolute !important;
  177.             right: 0;
  178.         }
  179.         [class\$=-balloon__close] [class\$=-balloon__close-button] {
  180.             height: 25px;
  181.             position: relative;
  182.             width: 25px;
  183.         }
  184.         [class\$=-balloon__close] [class\$=-balloon__close-button]:before {
  185.             background: #000;
  186.             bottom: 0;
  187.             content: \"\";
  188.             filter: invert(1);
  189.             height: 2px;
  190.             left: 0;
  191.             margin: auto;
  192.             position: absolute;
  193.             right: 0;
  194.             top: 0;
  195.             transform: rotate(45deg);
  196.             width: 70%;
  197.         }
  198.         [class\$=-balloon__close] [class\$=-balloon__close-button]:after {
  199.             background: #000;
  200.             bottom: 0;
  201.             content: \"\";
  202.             filter: invert(1);
  203.             height: 2px;
  204.             left: 0;
  205.             margin: auto;
  206.             position: absolute;
  207.             right: 0;
  208.             top: 0;
  209.             transform: rotate(-45deg);
  210.             width: 70%;
  211.         }
  212.     </style>
  213. ";
  214.         
  215.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  216.         
  217.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  218.         
  219.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->leave($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof);
  220.     }
  221.     // line 118
  222.     public function block_preconnect($context, array $blocks = [])
  223.     {
  224.         $macros $this->macros;
  225.         $__internal_b91a4435ea3baf1e2b6bfda56133dace $this->extensions["Sentry\\SentryBundle\\Tracing\\Twig\\TwigTracingExtension"];
  226.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->enter($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""preconnect"));
  227.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  228.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""preconnect"));
  229.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  230.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""preconnect"));
  231.         // line 119
  232.         echo "\t";
  233.         $this->displayParentBlock("preconnect"$context$blocks);
  234.         echo "
  235. \t<link rel=\"preconnect\" href=\"https://yastatic.net\">
  236. \t<link rel=\"preconnect\" href=\"https://api-maps.yandex.ru\">
  237. ";
  238.         
  239.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  240.         
  241.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  242.         
  243.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->leave($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof);
  244.     }
  245.     // line 124
  246.     public function block_name_page($context, array $blocks = [])
  247.     {
  248.         $macros $this->macros;
  249.         $__internal_b91a4435ea3baf1e2b6bfda56133dace $this->extensions["Sentry\\SentryBundle\\Tracing\\Twig\\TwigTracingExtension"];
  250.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->enter($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""name_page"));
  251.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  252.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""name_page"));
  253.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  254.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""name_page"));
  255.         echo "map";
  256.         
  257.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  258.         
  259.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  260.         
  261.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->leave($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof);
  262.     }
  263.     // line 126
  264.     public function block_mainContainer($context, array $blocks = [])
  265.     {
  266.         $macros $this->macros;
  267.         $__internal_b91a4435ea3baf1e2b6bfda56133dace $this->extensions["Sentry\\SentryBundle\\Tracing\\Twig\\TwigTracingExtension"];
  268.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->enter($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""mainContainer"));
  269.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  270.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""mainContainer"));
  271.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  272.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""mainContainer"));
  273.         // line 127
  274.         echo "    ";
  275.         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.'127$this->source); })()), "mapCoordinate", [], "any"falsefalsefalse127), "latitude", [], "any"falsefalsefalse127))) {
  276.             // line 128
  277.             echo "        ";
  278.             $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.'128$this->source); })()), "mapCoordinate", [], "any"falsefalsefalse128), "latitude", [], "any"falsefalsefalse128);
  279.             // line 129
  280.             echo "        ";
  281.             $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.'129$this->source); })()), "mapCoordinate", [], "any"falsefalsefalse129), "longitude", [], "any"falsefalsefalse129);
  282.             // line 130
  283.             echo "    ";
  284.         } else {
  285.             // line 131
  286.             echo "        ";
  287.             $context["lat"] = "55.753215";
  288.             // line 132
  289.             echo "        ";
  290.             $context["lon"] = "37.622504";
  291.             // line 133
  292.             echo "    ";
  293.         }
  294.         // line 134
  295.         echo "    <h1 class=\"border-line\">Интим карта</h1>
  296.     <p class=\"mb-lg-4\">
  297.         На карте обозначено местоположение зарегистрированных анкет.
  298.         Кликнув на маркер Вы узнаете краткую информацию о девушке.
  299.     </p>
  300.     <div class=\"map p-2 p-md-3 p-lg-4 mb-3 mb-md-4\">
  301.         <div class=\"d-flex justify-content-center justify-content-md-between mb-2 mb-md-3 mb-lg-4\">
  302.             <button class=\"btn btn-secondary btn-collapse-filter\" type=\"button\" id=\"filter-expand\">
  303.                 <svg class=\"icon mr-1\">
  304.                     <use xlink:href=\"";
  305.         // line 143
  306.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets_domain/images/icons/svg-library.svg""nodomainConfig"), "html"nulltrue);
  307.         echo "#icon-dropdown\"></use>
  308.                 </svg>
  309.                 Расширенный поиск
  310.             </button>
  311.             <div class=\"d-flex align-items-center collapse-reset ml-2\">
  312.                 <span class=\"d-none d-md-block\" id=\"count-parameters\">Выбрано <em data-count-parameters>0</em> параметров</span>
  313.                 <button class=\"btn btn-secondary btn-collapse-reset ml-md-2\" id=\"reset-form-2\" data-reset>
  314.                     <svg class=\"icon mr-1\">
  315.                         <use xlink:href=\"";
  316.         // line 151
  317.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets_domain/images/icons/svg-library.svg""nodomainConfig"), "html"nulltrue);
  318.         echo "#icon-reset\"></use>
  319.                     </svg>
  320.                     Сброс
  321.                 </button>
  322.             </div>
  323.         </div>
  324.         <div id=\"collapseFilterContainer\"></div>
  325. \t\t<div class=\"map-wrap skeleton skeleton--map loading\" id=\"map-wrap\"></div>
  326.         ";
  327.         // line 179
  328.         echo "    </div>
  329.     <svg class=\"d-none\" xmlns=\"http://www.w3.org/2000/svg\">
  330. \t\t<symbol id=\"selfie\" viewBox=\"0 0 18 18\">
  331.             <path d=\"M12.75.75C13.99.75 15 1.75 15 3v12c0 1.24-1 2.25-2.25 2.25h-7.5C4.01 17.25 3 16.25 3 15V3C3 1.76 4 .75 5.25.75zm-7.5 1.5A.75.75 0 0 0 4.5 3v12c0 .41.34.75.75.75h7.5c.41 0 .75-.34.75-.75V3a.75.75 0 0 0-.75-.75zm3.76 10.5a.75.75 0 0 1 0 1.5H9a.75.75 0 0 1 0-1.5m2.69-3.6a.75.75 0 0 1 0 1.5H6.3a.75.75 0 0 1 0-1.5zM9 3.75a2.55 2.55 0 1 1 0 5.1 2.55 2.55 0 0 1 0-5.1m0 1.5a1.05 1.05 0 1 0 0 2.1 1.05 1.05 0 0 0 0-2.1\"/>
  332.     \t</symbol>
  333. \t\t<symbol id=\"video\" viewBox=\"0 0 18 19\">
  334.             <path d=\"M17.6 4.58c.24.13.4.39.4.67v7.5a.75.75 0 0 1-1.19.61l-5.25-3.75a.75.75 0 0 1 0-1.22l5.25-3.75a.8.8 0 0 1 .78-.06M13.28 9l3.21 2.3V6.7z\"/><path d=\"M2.25 4.5a.75.75 0 0 0-.75.75v7.5c0 .41.34.75.75.75h8.25c.41 0 .75-.34.75-.75v-7.5a.75.75 0 0 0-.75-.75zM0 5.25C0 4.01 1 3 2.25 3h8.25c1.24 0 2.25 1 2.25 2.25v7.5c0 1.24-1 2.25-2.25 2.25H2.25C1.01 15 0 14 0 12.75z\"/>
  335.     \t</symbol>
  336. \t\t<symbol id=\"comment\" viewBox=\"0 0 18 19\">
  337.             <path fill-rule=\"evenodd\" d=\"M3.75 3a.75.75 0 0 0-.75.75v10.19l1.72-1.72a.8.8 0 0 1 .53-.22h9a.75.75 0 0 0 .75-.75v-7.5a.75.75 0 0 0-.75-.75zm-1.6-.84c.43-.42 1-.66 1.6-.66h10.5a2.25 2.25 0 0 1 2.25 2.25v7.5a2.25 2.25 0 0 1-2.25 2.25H5.56l-2.78 2.78a.75.75 0 0 1-1.28-.53v-12c0-.6.24-1.17.66-1.6\" clip-rule=\"evenodd\"/>
  338.     \t</symbol>
  339.     </svg>
  340. ";
  341.         
  342.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  343.         
  344.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  345.         
  346.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->leave($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof);
  347.     }
  348.     // line 195
  349.     public function block_javascripts($context, array $blocks = [])
  350.     {
  351.         $macros $this->macros;
  352.         $__internal_b91a4435ea3baf1e2b6bfda56133dace $this->extensions["Sentry\\SentryBundle\\Tracing\\Twig\\TwigTracingExtension"];
  353.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->enter($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascripts"));
  354.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  355.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascripts"));
  356.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  357.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascripts"));
  358.         // line 196
  359.         echo "    ";
  360.         $this->displayParentBlock("javascripts"$context$blocks);
  361.         echo "
  362. \t";
  363.         // line 198
  364.         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.'198$this->source); })()), "mapCoordinate", [], "any"falsefalsefalse198), "latitude", [], "any"falsefalsefalse198))) {
  365.             // line 199
  366.             echo "\t\t";
  367.             $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.'199$this->source); })()), "mapCoordinate", [], "any"falsefalsefalse199), "latitude", [], "any"falsefalsefalse199);
  368.             // line 200
  369.             echo "\t\t";
  370.             $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.'200$this->source); })()), "mapCoordinate", [], "any"falsefalsefalse200), "longitude", [], "any"falsefalsefalse200);
  371.             // line 201
  372.             echo "\t";
  373.         } else {
  374.             // line 202
  375.             echo "\t\t";
  376.             $context["lat"] = "55.753215";
  377.             // line 203
  378.             echo "\t\t";
  379.             $context["lon"] = "37.622504";
  380.             // line 204
  381.             echo "\t";
  382.         }
  383.         // line 205
  384.         echo "
  385. \t<script src=\"";
  386.         // line 206
  387.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("bundles/fosjsrouting/js/router.min.js"), "html"nulltrue);
  388.         echo "\" defer></script>
  389. \t<script src=\"";
  390.         // line 207
  391.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("fos_js_routing_js", ["callback" => "fos.Router.setData"]);
  392.         echo "\" defer></script>
  393. \t<script src=\"https://api-maps.yandex.ru/2.1/?lang=ru_RU&onload=initMap&ns=ym\" defer></script>
  394. \t<script>
  395.         window.mapConfig = {
  396. \t\t\tid:\"map-wrap\",
  397. \t\t\tmultiple_cities:\"";
  398.         // line 213
  399.         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.'213$this->source); })()), "html"nulltrue);
  400.         echo "\",
  401. \t\t\troutes_url: \"";
  402.         // line 214
  403.         echo ((((isset($context["multipleCities"]) || array_key_exists("multipleCities"$context) ? $context["multipleCities"] : (function () { throw new RuntimeError('Variable "multipleCities" does not exist.'214$this->source); })()) == 0)) ? ("/js/fos_js_routes.json") : ("/js/fos_js_routes_city_prefixed.json"));
  404.         echo "\",
  405. \t\t\tcity_uri_identity:\"";
  406.         // line 215
  407.         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.'215$this->source); })()), "html"nulltrue);
  408.         echo "\",
  409. \t\t\tcity_latitude:\"";
  410.         // line 216
  411.         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.'216$this->source); })()), "html"nulltrue);
  412.         echo "\",
  413. \t\t\tcity_longitude:\"";
  414.         // line 217
  415.         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.'217$this->source); })()), "html"nulltrue);
  416.         echo "\",
  417. \t\t\tlocale:\"";
  418.         // line 218
  419.         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.'218$this->source); })()), "request", [], "any"falsefalsefalse218), "locale", [], "any"falsefalsefalse218), "html"nulltrue);
  420.         echo "\",
  421. \t\t\tpath:\"";
  422.         // line 219
  423.         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.'219$this->source); })())]), "html"nulltrue);
  424.         echo "\",
  425. \t\t\tdetail: \"";
  426.         // line 220
  427.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("map.detail", ["city" => (isset($context["cityUriIdentity"]) || array_key_exists("cityUriIdentity"$context) ? $context["cityUriIdentity"] : (function () { throw new RuntimeError('Variable "cityUriIdentity" does not exist.'220$this->source); })())]), "html"nulltrue);
  428.         echo "\",
  429. \t\t\t";
  430.         // line 237
  431.         echo "
  432. \t\t\tmap_marker_cluster: '";
  433.         // line 238
  434.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\HttpFoundationExtension']->generateAbsoluteUrl($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/mapMarker_g__cluster.svg")), "html"nulltrue);
  435.         echo "',
  436. \t\t\tmap_marker_cluster_hover: '";
  437.         // line 239
  438.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\HttpFoundationExtension']->generateAbsoluteUrl($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/mapMarker_g__cluster_hover.svg")), "html"nulltrue);
  439.         echo "',
  440. \t\t\tmap_marker_build: '";
  441.         // line 240
  442.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\HttpFoundationExtension']->generateAbsoluteUrl($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/mapMarker_b__build.svg")), "html"nulltrue);
  443.         echo "',
  444. \t\t\tmap_marker_opened: '";
  445.         // line 241
  446.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\HttpFoundationExtension']->generateAbsoluteUrl($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/mapMarker_b__hover_opened.svg")), "html"nulltrue);
  447.         echo "',
  448. \t\t\tmap_marker_ready: '";
  449.         // line 242
  450.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\HttpFoundationExtension']->generateAbsoluteUrl($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/mapMarker_g__ready.svg")), "html"nulltrue);
  451.         echo "',
  452. \t\t\tmap_marker_ready_hover: '";
  453.         // line 243
  454.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\HttpFoundationExtension']->generateAbsoluteUrl($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/map/mapMarker_g__ready_hover.svg")), "html"nulltrue);
  455.         echo "',
  456. \t\t\t";
  457.         // line 245
  458.         echo "
  459. \t\t\tavatar_path : \"";
  460.         // line 246
  461.         echo twig_escape_filter($this->env$this->extensions['App\Twig\ResponsiveAssetExtension']->getResponsiveImageUrl("replace_path""profile_media_avatar""200x280""jpg"), "html"nulltrue);
  462.         echo "\",
  463. \t\t\tphoto_path : \"";
  464.         // line 247
  465.         echo twig_escape_filter($this->env$this->extensions['App\Twig\ResponsiveAssetExtension']->getResponsiveImageUrl("replace_path""profile_media""200x280""jpg"), "html"nulltrue);
  466.         echo "\",
  467. \t\t\tthumb_path : \"";
  468.         // line 248
  469.         echo twig_escape_filter($this->env$this->extensions['App\Twig\ResponsiveAssetExtension']->getResponsiveImageUrl("replace_path""saloon_media_thumb""200x280""jpg"), "html"nulltrue);
  470.         echo "\",
  471. \t\t\tprocess_profile_shows_url  : \"";
  472.         // line 249
  473.         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.'249$this->source); })())) ? (["city" => (isset($context["cityUriIdentity"]) || array_key_exists("cityUriIdentity"$context) ? $context["cityUriIdentity"] : (function () { throw new RuntimeError('Variable "cityUriIdentity" does not exist.'249$this->source); })())]) : ([]))), "html"nulltrue);
  474.         echo "\"
  475. \t\t};
  476. \t\twindow.map_filters = {
  477. \t\t\tmap_center: [";
  478.         // line 253
  479.         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.'253$this->source); })()), "html"nulltrue);
  480.         echo ", ";
  481.         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.'253$this->source); })()), "html"nulltrue);
  482.         echo "]
  483. \t\t};
  484. \t\twindow.isMapInitialized = false;
  485. \t\twindow.isYMapLoaded = false;
  486.         function initMap() {
  487. \t\t\twindow.ymaps = ym;
  488. \t\t\t";
  489.         // line 267
  490.         echo "\t\t\twindow.isMapInitialized = true;
  491. \t\t\twindow.isYMapLoaded = true;
  492. \t\t}
  493. \t\twindow.profileShowed = function ({id}) {
  494. \t\t\tif (!id) return;
  495. \t\t\tfetch('";
  496.         // line 274
  497.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("profile_ctr.increase_shows");
  498.         echo "', {
  499. \t\t\t\tmethod: \"POST\",
  500. \t\t\t\tbody: JSON.stringify({ profiles: [id], source: 'map' }),
  501. \t\t\t});
  502. \t\t}
  503.         window.stations = {";
  504.         // line 281
  505.         $context['_parent'] = $context;
  506.         $context['_seq'] = twig_ensure_traversable($this->extensions['App\Twig\StationsExtension']->stations());
  507.         $context['loop'] = [
  508.           'parent' => $context['_parent'],
  509.           'index0' => 0,
  510.           'index'  => 1,
  511.           'first'  => true,
  512.         ];
  513.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  514.             $length count($context['_seq']);
  515.             $context['loop']['revindex0'] = $length 1;
  516.             $context['loop']['revindex'] = $length;
  517.             $context['loop']['length'] = $length;
  518.             $context['loop']['last'] = === $length;
  519.         }
  520.         foreach ($context['_seq'] as $context["_key"] => $context["station"]) {
  521.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["station"], "id", [], "any"falsefalsefalse281), "html"nulltrue);
  522.             echo ":{icon:`";
  523.             $this->loadTemplate("components/metro/icon_generate.partial.twig""Map/page.html.twig"281)->display(twig_array_merge($context, ["data" => $this->extensions['App\Twig\StationsExtension']->stationLines($context["station"])]));
  524.             echo "`,name:`";
  525.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["station"], "name", [], "any"falsefalsefalse281), "html"nulltrue);
  526.             echo "`},";
  527.             ++$context['loop']['index0'];
  528.             ++$context['loop']['index'];
  529.             $context['loop']['first'] = false;
  530.             if (isset($context['loop']['length'])) {
  531.                 --$context['loop']['revindex0'];
  532.                 --$context['loop']['revindex'];
  533.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  534.             }
  535.         }
  536.         $_parent $context['_parent'];
  537.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['station'], $context['_parent'], $context['loop']);
  538.         $context array_intersect_key($context$_parent) + $_parent;
  539.         // line 282
  540.         echo "};
  541.         document.addEventListener('DOMContentLoaded', function () {
  542. \t\t\tfunction loadForm() {
  543. \t\t\t\tfetch('";
  544.         // line 286
  545.         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.'286$this->source); })())]), "html"nulltrue);
  546.         echo "', {
  547. \t\t\t\t\tmode: \"cors\",
  548. \t\t\t\t\timportance: \"low\",
  549. \t\t\t\t\tmethod: \"POST\",
  550. \t\t\t\t\theaders: {
  551. \t\t\t\t\t\t\"Content-Type\": \"application/x-www-form-urlencoded\",
  552. \t\t\t\t\t\t\"X-Requested-With\": \"XMLHttpRequest\"
  553. \t\t\t\t\t},
  554. \t\t\t\t}).then(response => {
  555. \t\t\t\t\tif (response.status < 300) {
  556. \t\t\t\t\t\treturn response.text();
  557. \t\t\t\t\t} else {
  558. \t\t\t\t\t\tconsole.warn(\"🤔\");
  559. \t\t\t\t\t\treturn null;
  560. \t\t\t\t\t}
  561. \t\t\t\t}).then(response => {
  562. \t\t\t\t\tdocument.getElementById('collapseFilterContainer').innerHTML = response;
  563. \t\t\t\t\tdocument.dispatchEvent(new Event('form-html-load'));
  564. \t\t\t\t\tfilterLoader();
  565. \t\t\t\t});
  566. \t\t\t}
  567. \t\t\tloadForm();
  568. \t\t\tfunction filterLoader() {
  569. \t\t\t\tconst stringifyData = `{\"city_id\":\"\${document.getElementById('filter_map_form_city_id').value}\",\"_token\":\"\${document.getElementById('filter_map_form__token').value}\",\"scale\":12}`;
  570. \t\t\t\tfetch(\"";
  571.         // line 312
  572.         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.'312$this->source); })())]), "html"nulltrue);
  573.         echo "\", {
  574. \t\t\t\t\tmethod: \"POST\",
  575. \t\t\t\t\theaders: {
  576. \t\t\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
  577. \t\t\t\t\t\t'X-Requested-With': 'XMLHttpRequest',
  578. \t\t\t\t\t},
  579. \t\t\t\t\tbody: new URLSearchParams({ form: stringifyData, scale: 12 }).toString(),
  580. \t\t\t\t})
  581. \t\t\t\t\t.then(response => response.json())
  582. \t\t\t\t\t.then(data => {
  583. \t\t\t\t\t\tconst mapLoadedInterval = setInterval(()=>{
  584. \t\t\t\t\t\t\tif (window.isYMapLoaded) {
  585. \t\t\t\t\t\t\t\tdocument.dispatchEvent(new CustomEvent('map:data:loaded', { detail: { data, stringifyData, mapConfig: window.mapConfig } }));
  586. \t\t\t\t\t\t\t\tclearInterval(mapLoadedInterval)
  587. \t\t\t\t\t\t\t}
  588. \t\t\t\t\t\t}, 200)
  589. \t\t\t\t\t})
  590. \t\t\t\t\t.catch(error => console.error(error));
  591. \t\t\t}
  592. \t\t});
  593. \t</script>
  594.     ";
  595.         // line 335
  596.         echo "    ";
  597.         echo $this->extensions['Symfony\WebpackEncoreBundle\Twig\EntryFilesTwigExtension']->renderWebpackScriptTags("scripts/map-page-2026"null"basicConfig");
  598.         echo "
  599. ";
  600.         
  601.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  602.         
  603.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  604.         
  605.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->leave($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof);
  606.     }
  607.     // line 338
  608.     public function block_modal($context, array $blocks = [])
  609.     {
  610.         $macros $this->macros;
  611.         $__internal_b91a4435ea3baf1e2b6bfda56133dace $this->extensions["Sentry\\SentryBundle\\Tracing\\Twig\\TwigTracingExtension"];
  612.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->enter($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""modal"));
  613.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  614.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""modal"));
  615.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  616.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""modal"));
  617.         // line 339
  618.         $this->displayParentBlock("modal"$context$blocks);
  619.         // line 340
  620.         echo twig_include($this->env$context"components/modals/map-filter.html.twig");
  621.         
  622.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  623.         
  624.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  625.         
  626.         $__internal_b91a4435ea3baf1e2b6bfda56133dace->leave($__internal_b91a4435ea3baf1e2b6bfda56133dace_prof);
  627.     }
  628.     /**
  629.      * @codeCoverageIgnore
  630.      */
  631.     public function getTemplateName()
  632.     {
  633.         return "Map/page.html.twig";
  634.     }
  635.     /**
  636.      * @codeCoverageIgnore
  637.      */
  638.     public function isTraitable()
  639.     {
  640.         return false;
  641.     }
  642.     /**
  643.      * @codeCoverageIgnore
  644.      */
  645.     public function getDebugInfo()
  646.     {
  647.         return array (  707 => 340,  705 => 339,  692 => 338,  676 => 335,  651 => 312,  622 => 286,  616 => 282,  581 => 281,  572 => 274,  563 => 267,  550 => 253,  543 => 249,  539 => 248,  535 => 247,  531 => 246,  528 => 245,  524 => 243,  520 => 242,  516 => 241,  512 => 240,  508 => 239,  504 => 238,  501 => 237,  496 => 220,  492 => 219,  488 => 218,  484 => 217,  480 => 216,  476 => 215,  472 => 214,  468 => 213,  459 => 207,  455 => 206,  452 => 205,  449 => 204,  446 => 203,  443 => 202,  440 => 201,  437 => 200,  434 => 199,  432 => 198,  426 => 196,  413 => 195,  387 => 179,  374 => 151,  363 => 143,  352 => 134,  349 => 133,  346 => 132,  343 => 131,  340 => 130,  337 => 129,  334 => 128,  331 => 127,  318 => 126,  293 => 124,  275 => 119,  262 => 118,  147 => 14,  142 => 12,  129 => 11,  113 => 8,  100 => 7,  84 => 4,  71 => 3,  42 => 1,);
  648.     }
  649.     public function getSourceContext()
  650.     {
  651.         return new Source("{% extends 'grid.html.twig' %}
  652. {% block title %}
  653.     {{ seo_title() }}
  654. {% endblock %}
  655. {% block metaDescription %}
  656.     <meta name=\"description\" content=\"{{ seo_description() }}\">
  657. {% endblock %}
  658. {% block stylesheet %}
  659.     {{ parent() }}
  660.     {# <link rel=\"stylesheet\" href=\"//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css\"> #}
  661.     <style>
  662.     .ymaps-2-1-79-balloon__close+.ymaps-2-1-79-balloon__content {
  663.         margin-right: 0!important;
  664.             padding: 0!important;
  665.     }
  666.         .map-wrap {
  667.             width: 100%;
  668.             height: 700px;
  669.             border-radius: 20px;
  670.             overflow: hidden;
  671.         }
  672.         .map-model__info .info-title {
  673.             color: #fff;
  674.             font-size: 16px;
  675.             line-height: 19px;
  676.             overflow: hidden;
  677.             text-overflow: ellipsis;
  678.             white-space: nowrap;
  679.         }
  680.         .map-model__info .info-phone {
  681.             padding-top: 5px;
  682.         }
  683.         [class\$=\"-balloon-pane\"] ymaps {
  684.             box-shadow: none !important;
  685.             border: none !important;
  686.             background: #000;
  687.             border-radius: 12px;
  688.         }
  689.         .map-model__info .info-phone .phone {
  690.             color: #ed0c34;
  691.             font-size: 14px;
  692.             font-weight: 700;
  693.             line-height: 16px;
  694.             overflow: hidden;
  695.             text-overflow: ellipsis;
  696.             white-space: nowrap;
  697.         }
  698.         .map-model__info .info-phone span {
  699.             color: #ffb800;
  700.             font-size: 14px;
  701.             line-height: 16px;
  702.         }
  703.         .map-model-widget .map-model__info .info-phone span em,
  704.         .map-model__info .info-phone span em {
  705.             color: grey;
  706.             font-size: 12px;
  707.             font-style: normal;
  708.             line-height: 14px;
  709.         }
  710.         [class\$=\"-balloon-pane\"] .ymaps-2-1-79-balloon__close-button {
  711.             border-radius: 20px;
  712.         }
  713.         [class\$=\"-balloon-pane\"] .ymaps-2-1-79-balloon__tail {
  714.             border-radius: 0;
  715.         }
  716.         [class\$=\"-balloon-pane\"] .map-model__images img {
  717.             border-radius: 12px;
  718.         }
  719.         [class\$=-balloon__close] {
  720.             position: absolute !important;
  721.             right: 0;
  722.         }
  723.         [class\$=-balloon__close] [class\$=-balloon__close-button] {
  724.             height: 25px;
  725.             position: relative;
  726.             width: 25px;
  727.         }
  728.         [class\$=-balloon__close] [class\$=-balloon__close-button]:before {
  729.             background: #000;
  730.             bottom: 0;
  731.             content: \"\";
  732.             filter: invert(1);
  733.             height: 2px;
  734.             left: 0;
  735.             margin: auto;
  736.             position: absolute;
  737.             right: 0;
  738.             top: 0;
  739.             transform: rotate(45deg);
  740.             width: 70%;
  741.         }
  742.         [class\$=-balloon__close] [class\$=-balloon__close-button]:after {
  743.             background: #000;
  744.             bottom: 0;
  745.             content: \"\";
  746.             filter: invert(1);
  747.             height: 2px;
  748.             left: 0;
  749.             margin: auto;
  750.             position: absolute;
  751.             right: 0;
  752.             top: 0;
  753.             transform: rotate(-45deg);
  754.             width: 70%;
  755.         }
  756.     </style>
  757. {% endblock %}
  758. {% block preconnect %}
  759. \t{{ parent() }}
  760. \t<link rel=\"preconnect\" href=\"https://yastatic.net\">
  761. \t<link rel=\"preconnect\" href=\"https://api-maps.yandex.ru\">
  762. {% endblock %}
  763. {% block name_page %}map{% endblock %}
  764. {% block mainContainer %}
  765.     {% if city is defined and city.mapCoordinate.latitude %}
  766.         {% set lat = city.mapCoordinate.latitude %}
  767.         {% set lon = city.mapCoordinate.longitude %}
  768.     {% else %}
  769.         {% set lat = '55.753215' %}
  770.         {% set lon = '37.622504' %}
  771.     {% endif %}
  772.     <h1 class=\"border-line\">Интим карта</h1>
  773.     <p class=\"mb-lg-4\">
  774.         На карте обозначено местоположение зарегистрированных анкет.
  775.         Кликнув на маркер Вы узнаете краткую информацию о девушке.
  776.     </p>
  777.     <div class=\"map p-2 p-md-3 p-lg-4 mb-3 mb-md-4\">
  778.         <div class=\"d-flex justify-content-center justify-content-md-between mb-2 mb-md-3 mb-lg-4\">
  779.             <button class=\"btn btn-secondary btn-collapse-filter\" type=\"button\" id=\"filter-expand\">
  780.                 <svg class=\"icon mr-1\">
  781.                     <use xlink:href=\"{{ asset('assets_domain/images/icons/svg-library.svg', 'nodomainConfig') }}#icon-dropdown\"></use>
  782.                 </svg>
  783.                 Расширенный поиск
  784.             </button>
  785.             <div class=\"d-flex align-items-center collapse-reset ml-2\">
  786.                 <span class=\"d-none d-md-block\" id=\"count-parameters\">Выбрано <em data-count-parameters>0</em> параметров</span>
  787.                 <button class=\"btn btn-secondary btn-collapse-reset ml-md-2\" id=\"reset-form-2\" data-reset>
  788.                     <svg class=\"icon mr-1\">
  789.                         <use xlink:href=\"{{ asset('assets_domain/images/icons/svg-library.svg', 'nodomainConfig') }}#icon-reset\"></use>
  790.                     </svg>
  791.                     Сброс
  792.                 </button>
  793.             </div>
  794.         </div>
  795.         <div id=\"collapseFilterContainer\"></div>
  796. \t\t<div class=\"map-wrap skeleton skeleton--map loading\" id=\"map-wrap\"></div>
  797.         {# <div class=\"map-wrap loading\" id=\"map-wrap\">
  798.             <img src=\"{{ asset('assets/images/preloader.svg','basicConfig') }}\" class=\"preloader\" id=\"preloader\" style=\"display: none;\" />
  799.             <div class=\"map\" id=\"map\" style=\"width: 100%; height: 700px;\"
  800.                 data-multiple-cities=\"{{ multipleCities }}\"
  801.                 data-city-uri-idenity=\"{{ cityUriIdentity }}\"
  802.                 data-city-latitude=\"{{ lat }}\"
  803.                 data-city-longitude=\"{{ lon }}\"
  804.                 data-locale=\"{{ app.request.locale }}\"
  805.                 data-path=\"{{ path('map.filter', {city:cityUriIdentity}) }}\"
  806.                 data-icon-single=\"islands#redIcon\"
  807.                 data-icon-saloon=\"islands#violetIcon\"
  808.                 data-icon-cluster=\"islands#invertedRedClusterIcons\"
  809. \t\t\t\tdata-avatar-path = \"{{ responsive_asset('replace-path', 'profile_media_avatar', \"200x280\", \"jpg\") }}\"
  810.                 data-photo-path = \"{{ responsive_asset('replace-path', 'profile_media', \"200x280\", \"jpg\") }}\"
  811.                 data-thumb-path = \"{{ responsive_asset('replace-path', 'saloon_media_thumb', \"200x280\", \"jpg\") }}\"
  812.                 data-process-profile-shows-url  = \"{{ path('map.increment_profile_shows', multipleCities ? {city:cityUriIdentity} : {}) }}\"
  813.             ></div>
  814.         </div> #}
  815.     </div>
  816.     <svg class=\"d-none\" xmlns=\"http://www.w3.org/2000/svg\">
  817. \t\t<symbol id=\"selfie\" viewBox=\"0 0 18 18\">
  818.             <path d=\"M12.75.75C13.99.75 15 1.75 15 3v12c0 1.24-1 2.25-2.25 2.25h-7.5C4.01 17.25 3 16.25 3 15V3C3 1.76 4 .75 5.25.75zm-7.5 1.5A.75.75 0 0 0 4.5 3v12c0 .41.34.75.75.75h7.5c.41 0 .75-.34.75-.75V3a.75.75 0 0 0-.75-.75zm3.76 10.5a.75.75 0 0 1 0 1.5H9a.75.75 0 0 1 0-1.5m2.69-3.6a.75.75 0 0 1 0 1.5H6.3a.75.75 0 0 1 0-1.5zM9 3.75a2.55 2.55 0 1 1 0 5.1 2.55 2.55 0 0 1 0-5.1m0 1.5a1.05 1.05 0 1 0 0 2.1 1.05 1.05 0 0 0 0-2.1\"/>
  819.     \t</symbol>
  820. \t\t<symbol id=\"video\" viewBox=\"0 0 18 19\">
  821.             <path d=\"M17.6 4.58c.24.13.4.39.4.67v7.5a.75.75 0 0 1-1.19.61l-5.25-3.75a.75.75 0 0 1 0-1.22l5.25-3.75a.8.8 0 0 1 .78-.06M13.28 9l3.21 2.3V6.7z\"/><path d=\"M2.25 4.5a.75.75 0 0 0-.75.75v7.5c0 .41.34.75.75.75h8.25c.41 0 .75-.34.75-.75v-7.5a.75.75 0 0 0-.75-.75zM0 5.25C0 4.01 1 3 2.25 3h8.25c1.24 0 2.25 1 2.25 2.25v7.5c0 1.24-1 2.25-2.25 2.25H2.25C1.01 15 0 14 0 12.75z\"/>
  822.     \t</symbol>
  823. \t\t<symbol id=\"comment\" viewBox=\"0 0 18 19\">
  824.             <path fill-rule=\"evenodd\" d=\"M3.75 3a.75.75 0 0 0-.75.75v10.19l1.72-1.72a.8.8 0 0 1 .53-.22h9a.75.75 0 0 0 .75-.75v-7.5a.75.75 0 0 0-.75-.75zm-1.6-.84c.43-.42 1-.66 1.6-.66h10.5a2.25 2.25 0 0 1 2.25 2.25v7.5a2.25 2.25 0 0 1-2.25 2.25H5.56l-2.78 2.78a.75.75 0 0 1-1.28-.53v-12c0-.6.24-1.17.66-1.6\" clip-rule=\"evenodd\"/>
  825.     \t</symbol>
  826.     </svg>
  827. {% endblock %}
  828. {% block javascripts %}
  829.     {{ parent() }}
  830. \t{% if city is defined and city.mapCoordinate.latitude %}
  831. \t\t{% set lat = city.mapCoordinate.latitude %}
  832. \t\t{% set lon = city.mapCoordinate.longitude %}
  833. \t{% else %}
  834. \t\t{% set lat = '55.753215' %}
  835. \t\t{% set lon = '37.622504' %}
  836. \t{% endif %}
  837. \t<script src=\"{{ asset('bundles/fosjsrouting/js/router.min.js') }}\" defer></script>
  838. \t<script src=\"{{ path('fos_js_routing_js', { callback: 'fos.Router.setData' }) }}\" defer></script>
  839. \t<script src=\"https://api-maps.yandex.ru/2.1/?lang=ru_RU&onload=initMap&ns=ym\" defer></script>
  840. \t<script>
  841.         window.mapConfig = {
  842. \t\t\tid:\"map-wrap\",
  843. \t\t\tmultiple_cities:\"{{ multipleCities }}\",
  844. \t\t\troutes_url: \"{{ multipleCities == 0 ? '/js/fos_js_routes.json' : '/js/fos_js_routes_city_prefixed.json' }}\",
  845. \t\t\tcity_uri_identity:\"{{ cityUriIdentity }}\",
  846. \t\t\tcity_latitude:\"{{ lat }}\",
  847. \t\t\tcity_longitude:\"{{ lon }}\",
  848. \t\t\tlocale:\"{{ app.request.locale }}\",
  849. \t\t\tpath:\"{{ path('map.filter', {city:cityUriIdentity}) }}\",
  850. \t\t\tdetail: \"{{ path('map.detail', {city:cityUriIdentity}) }}\",
  851. \t\t\t{# icon_profile:\"{{ asset('assets/images/map/profile.svg') }}\",
  852. \t\t\ticon_profile_active:\"{{ asset('assets/images/map/profile-active.svg') }}\",
  853. \t\t\ticon_profile_hover:\"{{ asset('assets/images/map/profile-hover.svg') }}\",
  854. \t\t\ticon_saloon:\"{{ asset('assets/images/map/saloon.svg') }}\",
  855. \t\t\ticon_saloon_active:\"{{ asset('assets/images/map/saloon-active.svg') }}\",
  856. \t\t\ticon_saloon_hover:\"{{ asset('assets/images/map/saloon-hover.svg') }}\",
  857. \t\t\ticon_masseur:\"{{ asset('assets/images/map/masseur.svg') }}\",
  858. \t\t\ticon_masseur_active:\"{{ asset('assets/images/map/masseur-active.svg') }}\",
  859. \t\t\ticon_masseur_hover:\"{{ asset('assets/images/map/masseur-hover.svg') }}\",
  860. \t\t\ticon_cluster_small:\"{{ asset('assets/images/map/cluster-small.svg') }}\",
  861. \t\t\ticon_cluster_medium:\"{{ asset('assets/images/map/cluster-medium.svg') }}\",
  862. \t\t\ticon_cluster_big:\"{{ asset('assets/images/map/cluster-big.svg') }}\", #}
  863. \t\t\tmap_marker_cluster: '{{ absolute_url(asset('assets/images/map/mapMarker_g__cluster.svg')) }}',
  864. \t\t\tmap_marker_cluster_hover: '{{ absolute_url(asset('assets/images/map/mapMarker_g__cluster_hover.svg')) }}',
  865. \t\t\tmap_marker_build: '{{ absolute_url(asset('assets/images/map/mapMarker_b__build.svg')) }}',
  866. \t\t\tmap_marker_opened: '{{ absolute_url(asset('assets/images/map/mapMarker_b__hover_opened.svg')) }}',
  867. \t\t\tmap_marker_ready: '{{ absolute_url(asset('assets/images/map/mapMarker_g__ready.svg')) }}',
  868. \t\t\tmap_marker_ready_hover: '{{ absolute_url(asset('assets/images/map/mapMarker_g__ready_hover.svg')) }}',
  869. \t\t\t{# map_marker_transparent: '{{ absolute_url(asset(\"assets/images/map/transparent_1px.png\")) }}', #}
  870. \t\t\tavatar_path : \"{{ responsive_asset('replace_path', 'profile_media_avatar', \"200x280\", \"jpg\") }}\",
  871. \t\t\tphoto_path : \"{{ responsive_asset('replace_path', 'profile_media', \"200x280\", \"jpg\") }}\",
  872. \t\t\tthumb_path : \"{{ responsive_asset('replace_path', 'saloon_media_thumb', \"200x280\", \"jpg\") }}\",
  873. \t\t\tprocess_profile_shows_url  : \"{{ path('map.increment_profile_shows', multipleCities ? {city:cityUriIdentity} : {}) }}\"
  874. \t\t};
  875. \t\twindow.map_filters = {
  876. \t\t\tmap_center: [{{ lat }}, {{ lon }}]
  877. \t\t};
  878. \t\twindow.isMapInitialized = false;
  879. \t\twindow.isYMapLoaded = false;
  880.         function initMap() {
  881. \t\t\twindow.ymaps = ym;
  882. \t\t\t{# window.ymap = new ym.Map(document.getElementById('map-wrap'), {
  883. \t\t\t\tcenter: [\"{{ lat }}\", \"{{ lon }}\"],
  884. \t\t\t\tzoom: 12,
  885. \t\t\t\tbehaviors: [\"drag\", \"dblClickZoom\", \"rightMouseButtonMagnifier\", \"multiTouch\", \"scrollZoom\"],
  886. \t\t\t\tcontrols: ['zoomControl', 'typeSelector',  'fullscreenControl']
  887. \t\t\t}); #}
  888. \t\t\twindow.isMapInitialized = true;
  889. \t\t\twindow.isYMapLoaded = true;
  890. \t\t}
  891. \t\twindow.profileShowed = function ({id}) {
  892. \t\t\tif (!id) return;
  893. \t\t\tfetch('{{ path('profile_ctr.increase_shows') }}', {
  894. \t\t\t\tmethod: \"POST\",
  895. \t\t\t\tbody: JSON.stringify({ profiles: [id], source: 'map' }),
  896. \t\t\t});
  897. \t\t}
  898.         window.stations = {
  899. \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 -%}
  900. \t\t};
  901.         document.addEventListener('DOMContentLoaded', function () {
  902. \t\t\tfunction loadForm() {
  903. \t\t\t\tfetch('{{ path('map.form', {city: cityUriIdentity}) }}', {
  904. \t\t\t\t\tmode: \"cors\",
  905. \t\t\t\t\timportance: \"low\",
  906. \t\t\t\t\tmethod: \"POST\",
  907. \t\t\t\t\theaders: {
  908. \t\t\t\t\t\t\"Content-Type\": \"application/x-www-form-urlencoded\",
  909. \t\t\t\t\t\t\"X-Requested-With\": \"XMLHttpRequest\"
  910. \t\t\t\t\t},
  911. \t\t\t\t}).then(response => {
  912. \t\t\t\t\tif (response.status < 300) {
  913. \t\t\t\t\t\treturn response.text();
  914. \t\t\t\t\t} else {
  915. \t\t\t\t\t\tconsole.warn(\"🤔\");
  916. \t\t\t\t\t\treturn null;
  917. \t\t\t\t\t}
  918. \t\t\t\t}).then(response => {
  919. \t\t\t\t\tdocument.getElementById('collapseFilterContainer').innerHTML = response;
  920. \t\t\t\t\tdocument.dispatchEvent(new Event('form-html-load'));
  921. \t\t\t\t\tfilterLoader();
  922. \t\t\t\t});
  923. \t\t\t}
  924. \t\t\tloadForm();
  925. \t\t\tfunction filterLoader() {
  926. \t\t\t\tconst stringifyData = `{\"city_id\":\"\${document.getElementById('filter_map_form_city_id').value}\",\"_token\":\"\${document.getElementById('filter_map_form__token').value}\",\"scale\":12}`;
  927. \t\t\t\tfetch(\"{{ path('map.filter', {city:cityUriIdentity}) }}\", {
  928. \t\t\t\t\tmethod: \"POST\",
  929. \t\t\t\t\theaders: {
  930. \t\t\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
  931. \t\t\t\t\t\t'X-Requested-With': 'XMLHttpRequest',
  932. \t\t\t\t\t},
  933. \t\t\t\t\tbody: new URLSearchParams({ form: stringifyData, scale: 12 }).toString(),
  934. \t\t\t\t})
  935. \t\t\t\t\t.then(response => response.json())
  936. \t\t\t\t\t.then(data => {
  937. \t\t\t\t\t\tconst mapLoadedInterval = setInterval(()=>{
  938. \t\t\t\t\t\t\tif (window.isYMapLoaded) {
  939. \t\t\t\t\t\t\t\tdocument.dispatchEvent(new CustomEvent('map:data:loaded', { detail: { data, stringifyData, mapConfig: window.mapConfig } }));
  940. \t\t\t\t\t\t\t\tclearInterval(mapLoadedInterval)
  941. \t\t\t\t\t\t\t}
  942. \t\t\t\t\t\t}, 200)
  943. \t\t\t\t\t})
  944. \t\t\t\t\t.catch(error => console.error(error));
  945. \t\t\t}
  946. \t\t});
  947. \t</script>
  948.     {# {{ encore_entry_script_tags('scripts/map-page', null, 'basicConfig') }} #}
  949.     {{ encore_entry_script_tags('scripts/map-page-2026', null, 'basicConfig') }}
  950. {% endblock %}
  951. {% block modal %}
  952. \t{{- parent() -}}
  953. \t{{- include('components/modals/map-filter.html.twig') -}}
  954. {% endblock %}
  955. ""Map/page.html.twig""/app/templates/Map/page.html.twig");
  956.     }
  957. }