<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
/* pages/search_properties.html.twig */
class __TwigTemplate_ff7053ff8044f35c80b52ffd323f9c5d3c86b9818573fbcb583eb51cb26c0d62 extends Template
{
private $source;
private $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
];
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "pages/search_properties.html.twig"));
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "pages/search_properties.html.twig"));
// line 1
echo $this->env->getRuntime('Symfony\Bridge\Twig\Extension\HttpKernelRuntime')->renderFragment(Symfony\Bridge\Twig\Extension\HttpKernelExtension::controller("App\\Controller\\Website\\LayoutController::documentHead", ["params" => ["documentClasses" => "bg-light-gray", "extension" => ["seo" => ["title" => twig_get_attribute($this->env, $this->source, // line 7
($context["seo"] ?? null), "title", [], "any", false, false, false, 7), "description" => twig_get_attribute($this->env, $this->source, // line 8
($context["seo"] ?? null), "metaDescription", [], "any", false, false, false, 8)]], "URI" => twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, // line 11
($context["app"] ?? null), "request", [], "any", false, false, false, 11), "uri", [], "any", false, false, false, 11), "urlImgSeo" => (twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, // line 12
($context["app"] ?? null), "request", [], "any", false, false, false, 12), "getSchemeAndHttpHost", [], "method", false, false, false, 12) . ($context["urlImgSeo"] ?? null))]]));
// line 15
echo "
<iframe src='";
// line 17
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("just_menu");
echo "' class='popup-menu z-4' data-menu-scrollable data-min-width='1024' allowtransparency=\"true\"></iframe>
";
// line 19
$this->loadTemplate("search_properties/elements/cursor.html.twig", "pages/search_properties.html.twig", 19)->display($context);
// line 20
echo "
<div class='fixed-layout-piece z-4 no-scrollbar-flicker flex-container align-right'>
<button class='bg-white hamburger' aria-label='Menu' data-menu-toggle>
<div class='hamburger__flex header-height-offers border-left border-bottom'
style='margin-bottom: -1px; box-sizing: content-box'>
<div class='hamburger__line'></div>
<div class='hamburger__line'></div>
<div class='hamburger__line'></div>
</div>
</button>
</div>
<div data-vue-app
";
// line 33
if (array_key_exists("detail", $context)) {
echo "data-detail=\"";
echo twig_escape_filter($this->env, json_encode(($context["detail"] ?? null)), "html", null, true);
echo "\"";
}
// line 34
echo " :class=\"{'pointer-none o-04': allResultsAreLoading}\"
data-reload-on-change
";
// line 36
if (($context["rent"] ?? null)) {
echo "data-rent";
}
// line 37
echo ">
";
// line 39
$this->loadTemplate("search_properties/_header.html.twig", "pages/search_properties.html.twig", 39)->display($context);
// line 40
echo " ";
$this->loadTemplate("search_properties/_mobile-filters.html.twig", "pages/search_properties.html.twig", 40)->display($context);
// line 41
echo "
<div class='pt-header-height-offers offer-list-animation'
:class=\"{'offer-list-animation--hidden': showDetail}\"
>
<div class='no-scrollbar-flicker' data-above-sticky-footer>
";
// line 48
echo " <div class='hide-for-xlarge py-16'>
<div class='py-16'>
<span class='t-button-medium'> </span>
</div>
</div>
";
// line 55
echo " <main class='grid-x'>
<div class='small-12 large-auto cell bg-white' :class='{\"show-for-large\": showMap}'>
<div v-show='mapResults.length' style='display: none'>
<div class='offers-container'>
<h1 class='t-p-big-32 mb-16 pt-48 fw-500' v-text='seo.topTitle' id='topTitle'>";
// line 59
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["seo"] ?? null), "topTitle", [], "any", false, false, false, 59), "html", null, true);
echo "</h1>
<p class='t-label-regular'><span v-text='mapResults.length'></span> ";
// line 60
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("Résultat(s)"), "html", null, true);
echo "</p>
</div>
";
// line 63
$this->loadTemplate("search_properties/_toolbar.html.twig", "pages/search_properties.html.twig", 63)->display($context);
// line 64
echo "
<div ref='cards' class='cards-list' :class='{\"cards-list--2-col\": !showMap, \"pointer-none o-04\": paginatedResultsAreLoading}'>
";
// line 66
echo $this->env->getRuntime('Symfony\Bridge\Twig\Extension\HttpKernelRuntime')->renderFragment(Symfony\Bridge\Twig\Extension\HttpKernelExtension::controller("App\\Controller\\Website\\OfferController::searchCardsPaginated", ["request" => // line 67
($context["request"] ?? null), "rent" => // line 68
($context["rent"] ?? null)]));
// line 69
echo "
</div>
</div>
<div v-show='displayNoResults' style='display: none'>
<div class='offers-container'>
<h1 class='t-p-big-32 mb-16 pt-48 fw-500'>";
// line 75
echo twig_escape_filter($this->env, twig_capitalize_string_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("Aucun résultat disponible")), "html", null, true);
echo "</h1>
<p class='t-label-regular mb-32'>";
// line 76
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("Elargissez vos critères de recherche pour afficher plus de résultats"), "html", null, true);
echo ".</p>
";
// line 79
echo " </div>
</div>
</div>
<div class='small-12 large-5 xlarge-6 cell' v-if='showMap'>
<div class='p-sticky-offers'>
<map-with-popup
:markers='mapResults'
map-element-class='mh-100vh-offers mh-100vh-offers--modify-search custom-google-map'
markers-dir='";
// line 87
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("frontend/search/images/vector/"), "html", null, true);
echo "'
:use-circles='!rent'
:on-popup-click='onMapPopupClick'
:show-zoom='!detail'
\t\t\t\t:map-options=\"{minZoom: 3, maxZoom: 18, center: {lat: 46.5,lng: 6.5}}\"
:swiss-coordinates=\"false\"
:get-detail-url=\"getDetailUrl\"
:display-price-per-sqm=\"filters.priceSqm\"
:initial-bounds=\"boundsObject\"
:disable-auto-fit=\"filters.bounds != null\"
@boundschange='onBoundsChange'
:circles='mapCircles'
></map-with-popup>
<div v-if='showMap' class='top-right pointer-none px-24 pt-48 show-for-large'>
<transition name='fade-in'>
<button v-if=\"!detail\" @click='showMap = false' aria-label='";
// line 102
echo twig_escape_filter($this->env, twig_capitalize_string_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("cacher la carte")), "html", null, true);
echo "'
class='button-reset bg-white pointer-auto border px-24 py-24 br-4'>
<svg width='16' height='16'>
<use xlink:href='#close-16' />
</svg>
</button>
</transition>
</div>
</div>
</div>
</main>
</div>
</div>
";
// line 117
echo " <div class='fixed bottom z-2 hide-for-large px-16 mb-16 pointer-none'>
<div class='offer-list-animation flex-container align-right'
:class=\"{'offer-list-animation--hidden': showDetail}\">
<button class='button-reset bg-dark-blue c-white icon-left icon-left--text-visible t-label-regular toggle-map-fixed-control pointer-auto'
@click='showMap = !showMap'>
<svg width='16' height='16'>
<use :xlink:href='fixedControlIcon' />
</svg>
<span v-text='showMap ? \"";
// line 125
echo twig_escape_filter($this->env, twig_title_string_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("vue liste")), "html", null, true);
echo "\" : \"";
echo twig_escape_filter($this->env, twig_capitalize_string_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("vue carte")), "html", null, true);
echo "\"'></span>
</button>
</div>
</div>
";
// line 131
echo " <div class='grid-container fluid pt-header-height-offers z-2 offer-detail-animation'
:class=\"{'offer-detail-animation--opened': showDetail}\"
ref='detailScroller'>
<div class='grid-x grid-margin-x'>
<div class='large-offset-2 large-10 cell'>
<div class='offers-container-negative-left'>
<div class='offers-container bg-white mh-100vh-offers' ref=\"detail\">
<div v-if=\"detail\">
";
// line 139
$this->loadTemplate("search_properties/_detail.html.twig", "pages/search_properties.html.twig", 139)->display(twig_array_merge($context, ((array_key_exists("detail", $context)) ? (($context["detail"] ?? null)) : ([]))));
// line 140
echo " </div>
<div v-else class='mh-100vh-offers flex-container align-center align-middle'>
<img src=\"";
// line 142
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("frontend/search/dist/preloader.gif"), "html", null, true);
echo "\" alt />
</div>
</div>
</div>
</div>
</div>
</div>
<div class='z-5 flex-container flex-dir-column modal-overlay offers-container py-32'
:class=\"{'modal-overlay--show': showOverlay}\"
ref='popup' @click='closePopup'>
";
// line 153
$this->loadTemplate("search_properties/popups/_send-a-message.html.twig", "pages/search_properties.html.twig", 153)->display($context);
// line 154
echo " ";
$this->loadTemplate("search_properties/popups/_share.html.twig", "pages/search_properties.html.twig", 154)->display($context);
// line 155
echo " ";
$this->loadTemplate("search_properties/popups/_gallery.html.twig", "pages/search_properties.html.twig", 155)->display($context);
// line 156
echo " ";
$this->loadTemplate("search_properties/popups/_video.html.twig", "pages/search_properties.html.twig", 156)->display($context);
// line 157
echo " ";
$this->loadTemplate("search_properties/popups/_iframe.html.twig", "pages/search_properties.html.twig", 157)->display($context);
// line 158
echo " </div>
</div>
";
// line 161
echo $this->env->getRuntime('Symfony\Bridge\Twig\Extension\HttpKernelRuntime')->renderFragment(Symfony\Bridge\Twig\Extension\HttpKernelExtension::controller("App\\Controller\\Website\\LayoutController::bodyEnd"));
// line 163
echo "
";
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
}
public function getTemplateName()
{
return "pages/search_properties.html.twig";
}
public function isTraitable()
{
return false;
}
public function getDebugInfo()
{
return array ( 272 => 163, 270 => 161, 265 => 158, 262 => 157, 259 => 156, 256 => 155, 253 => 154, 251 => 153, 237 => 142, 233 => 140, 231 => 139, 221 => 131, 211 => 125, 201 => 117, 184 => 102, 166 => 87, 156 => 79, 152 => 76, 148 => 75, 140 => 69, 138 => 68, 137 => 67, 136 => 66, 132 => 64, 130 => 63, 124 => 60, 120 => 59, 114 => 55, 106 => 48, 98 => 41, 95 => 40, 93 => 39, 89 => 37, 85 => 36, 81 => 34, 75 => 33, 60 => 20, 58 => 19, 53 => 17, 49 => 15, 47 => 12, 46 => 11, 45 => 8, 44 => 7, 43 => 1,);
}
public function getSourceContext()
{
return new Source("{{ render(controller(
'App\\\\Controller\\\\Website\\\\LayoutController::documentHead', {
\t\tparams: {
\t\t\tdocumentClasses: 'bg-light-gray',
\t\t\textension: {
\t\t\t\tseo: {
\t\t\t\t\ttitle: seo.title,
\t\t\t\t\tdescription: seo.metaDescription
\t\t\t\t}
\t\t\t},
\t\t\tURI : app.request.uri,
\t\t\turlImgSeo : app.request.getSchemeAndHttpHost()~urlImgSeo
\t\t}
\t}
)) }}
<iframe src='{{path(\"just_menu\")}}' class='popup-menu z-4' data-menu-scrollable data-min-width='1024' allowtransparency=\"true\"></iframe>
{% include 'search_properties/elements/cursor.html.twig' %}
<div class='fixed-layout-piece z-4 no-scrollbar-flicker flex-container align-right'>
<button class='bg-white hamburger' aria-label='Menu' data-menu-toggle>
<div class='hamburger__flex header-height-offers border-left border-bottom'
style='margin-bottom: -1px; box-sizing: content-box'>
<div class='hamburger__line'></div>
<div class='hamburger__line'></div>
<div class='hamburger__line'></div>
</div>
</button>
</div>
<div data-vue-app
{% if detail is defined %}data-detail=\"{{detail|json_encode}}\"{% endif %}
:class=\"{'pointer-none o-04': allResultsAreLoading}\"
data-reload-on-change
{% if rent %}data-rent{% endif %}
>
{% include 'search_properties/_header.html.twig' %}
{% include 'search_properties/_mobile-filters.html.twig' %}
<div class='pt-header-height-offers offer-list-animation'
:class=\"{'offer-list-animation--hidden': showDetail}\"
>
<div class='no-scrollbar-flicker' data-above-sticky-footer>
{# placeholder for \"modify search\" #}
<div class='hide-for-xlarge py-16'>
<div class='py-16'>
<span class='t-button-medium'> </span>
</div>
</div>
{# list view #}
<main class='grid-x'>
<div class='small-12 large-auto cell bg-white' :class='{\"show-for-large\": showMap}'>
<div v-show='mapResults.length' style='display: none'>
<div class='offers-container'>
<h1 class='t-p-big-32 mb-16 pt-48 fw-500' v-text='seo.topTitle' id='topTitle'>{{seo.topTitle}}</h1>
<p class='t-label-regular'><span v-text='mapResults.length'></span> {{ 'Résultat(s)'|trans }}</p>
</div>
{% include 'search_properties/_toolbar.html.twig' %}
<div ref='cards' class='cards-list' :class='{\"cards-list--2-col\": !showMap, \"pointer-none o-04\": paginatedResultsAreLoading}'>
{{ render(controller('App\\\\Controller\\\\Website\\\\OfferController::searchCardsPaginated', {
request: request,
rent: rent,
})) }}
</div>
</div>
<div v-show='displayNoResults' style='display: none'>
<div class='offers-container'>
<h1 class='t-p-big-32 mb-16 pt-48 fw-500'>{{'Aucun résultat disponible'|trans|capitalize}}</h1>
<p class='t-label-regular mb-32'>{{\"Elargissez vos critères de recherche pour afficher plus de résultats\"|trans}}.</p>
{# <button @click.prevent='pickPopup(\"we-search-for-you\")'
class='button-reset py-16 bg-dark-blue c-white t-label-regular text-center px-24 mb-64'>{{'Décrire votre recherche'|trans|capitalize}}</button> #}
</div>
</div>
</div>
<div class='small-12 large-5 xlarge-6 cell' v-if='showMap'>
<div class='p-sticky-offers'>
<map-with-popup
:markers='mapResults'
map-element-class='mh-100vh-offers mh-100vh-offers--modify-search custom-google-map'
markers-dir='{{asset('frontend/search/images/vector/')}}'
:use-circles='!rent'
:on-popup-click='onMapPopupClick'
:show-zoom='!detail'
\t\t\t\t:map-options=\"{minZoom: 3, maxZoom: 18, center: {lat: 46.5,lng: 6.5}}\"
:swiss-coordinates=\"false\"
:get-detail-url=\"getDetailUrl\"
:display-price-per-sqm=\"filters.priceSqm\"
:initial-bounds=\"boundsObject\"
:disable-auto-fit=\"filters.bounds != null\"
@boundschange='onBoundsChange'
:circles='mapCircles'
></map-with-popup>
<div v-if='showMap' class='top-right pointer-none px-24 pt-48 show-for-large'>
<transition name='fade-in'>
<button v-if=\"!detail\" @click='showMap = false' aria-label='{{\"cacher la carte\"|trans|capitalize}}'
class='button-reset bg-white pointer-auto border px-24 py-24 br-4'>
<svg width='16' height='16'>
<use xlink:href='#close-16' />
</svg>
</button>
</transition>
</div>
</div>
</div>
</main>
</div>
</div>
{# map/list switch for mobile #}
<div class='fixed bottom z-2 hide-for-large px-16 mb-16 pointer-none'>
<div class='offer-list-animation flex-container align-right'
:class=\"{'offer-list-animation--hidden': showDetail}\">
<button class='button-reset bg-dark-blue c-white icon-left icon-left--text-visible t-label-regular toggle-map-fixed-control pointer-auto'
@click='showMap = !showMap'>
<svg width='16' height='16'>
<use :xlink:href='fixedControlIcon' />
</svg>
<span v-text='showMap ? \"{{'vue liste'|trans|title}}\" : \"{{'vue carte'|trans|capitalize}}\"'></span>
</button>
</div>
</div>
{# detail #}
<div class='grid-container fluid pt-header-height-offers z-2 offer-detail-animation'
:class=\"{'offer-detail-animation--opened': showDetail}\"
ref='detailScroller'>
<div class='grid-x grid-margin-x'>
<div class='large-offset-2 large-10 cell'>
<div class='offers-container-negative-left'>
<div class='offers-container bg-white mh-100vh-offers' ref=\"detail\">
<div v-if=\"detail\">
{% include 'search_properties/_detail.html.twig' with detail is defined ? detail : {} %}
</div>
<div v-else class='mh-100vh-offers flex-container align-center align-middle'>
<img src=\"{{ asset('frontend/search/dist/preloader.gif')}}\" alt />
</div>
</div>
</div>
</div>
</div>
</div>
<div class='z-5 flex-container flex-dir-column modal-overlay offers-container py-32'
:class=\"{'modal-overlay--show': showOverlay}\"
ref='popup' @click='closePopup'>
{% include 'search_properties/popups/_send-a-message.html.twig' %}
{% include 'search_properties/popups/_share.html.twig' %}
{% include 'search_properties/popups/_gallery.html.twig' %}
{% include 'search_properties/popups/_video.html.twig' %}
{% include 'search_properties/popups/_iframe.html.twig' %}
</div>
</div>
{{ render(controller(
'App\\\\Controller\\\\Website\\\\LayoutController::bodyEnd'
)) }}
", "pages/search_properties.html.twig", "/home/clients/6069f7d890ad1893915d376cf7e5b903/var/www/bn-invest-commercial/templates/pages/search_properties.html.twig");
}
}