templates/homepage/detailVehicle.html.twig line 1

  1. {% extends 'base.html.twig' %}
  2. {% block title %}{{ vehicle_seo_title(vehicle) }}{% endblock %}
  3. {% block desc %}{{ vehicle_seo_description(vehicle) }}{% endblock %}
  4.         {% block javascripts %}
  5.             {{ encore_entry_script_tags('app') }}
  6.             <script src="https://www.google.com/recaptcha/api.js?render={{ google_recaptcha_site_key }}"></script>
  7.         {% endblock %}
  8.     {% block mobileBranding %} {% endblock %}
  9. {% block body %}
  10.     <br>
  11.     <section class="container">
  12.         <nav class="container__back">
  13.             {% if vehicle.kind %}
  14.             <a class="container__back-link" href="{{ app.request.headers.get('referer') }}">Zpět na seznam inzerátů</a>
  15.             {% endif %}
  16.         </nav>
  17.         <section class="gallery js-gallery">
  18.             {% for img in vehicle.vehicleImages %}
  19.               {% if loop.index < 2 %}
  20.             <a class="gallery__item gallery__item--large" href="{{ asset(vehicle_image_url(img)) }}" title="{{ vehicle_image_alt(img) }}">
  21.                 <img  src="{{ asset(vehicle_image_url(img)) }}"
  22.                         alt="{{ vehicle_image_alt(img) }}"
  23.                         {{ stimulus_controller('symfony/ux-lazy-image/lazy-image', {
  24.                             src: asset(vehicle_image_url(img))
  25.                         }) }} width="400" >
  26.                 {#
  27.                 <div class="gallery__favorite">
  28.                     <i class="icon icon-heart"></i>
  29.                 </div>
  30.                 #}
  31.             </a>
  32.              {% else  %}
  33.             <a  {% if loop.index > 5 %}  style="display: none" {% endif %} class="gallery__item   {% if loop.index == 5 %}  gallery__item--hidden-sm  {% endif %} " href="{{ asset(vehicle_image_url(img)) }}" title="{{ vehicle_image_alt(img) }}">
  34.                 <img src="{{ asset(vehicle_image_url(img)) }}"
  35.                         alt="{{ vehicle_image_alt(img) }}"
  36.                         {{ stimulus_controller('symfony/ux-lazy-image/lazy-image', {
  37.                             src: asset(vehicle_image_url(img))
  38.                         }) }} width="200" > </a>
  39.             {% endif  %}
  40.             {% endfor %}
  41.             {% if vehicle.vehicleImages|length > 5 %}
  42.             <div class="gallery__show">
  43.                 <i class="icon icon-camera"></i>
  44.                 +{{ vehicle.vehicleImages|length - 5 }}
  45.             </div>
  46.             {% endif  %}
  47.         </section>
  48.     </section>
  49.     <div id="blueimp-gallery" class="blueimp-gallery blueimp-gallery-controls" aria-label="image gallery"
  50.          aria-modal="true" role="dialog">
  51.         <div class="slides" aria-live="polite"></div>
  52.         <a class="prev" aria-controls="blueimp-gallery" aria-label="previous slide" aria-keyshortcuts="ArrowLeft"></a>
  53.         <a class="next" aria-controls="blueimp-gallery" aria-label="next slide" aria-keyshortcuts="ArrowRight"></a>
  54.         <a class="close" aria-controls="blueimp-gallery" aria-label="close" aria-keyshortcuts="Escape"></a>
  55.     </div>
  56.     <section class="grid grid--gap40 grid--row-gap20 grid--padding-top0">
  57.         <div>
  58.             <section class="detail">
  59.                 <h1 class="margin-bottom-0">{{ vehicle_seo_h1(vehicle) }}</h1>
  60.                 <div class="detail__price">
  61.                     {{  vehicle.price ? vehicle.price|number_format(0, null, ' ')~' Kč' : 'dohodou' }}
  62.                     {% if vehicle.vat %}
  63.                     <div class="detail__price-label">Odpočet DPH možný</div>
  64.                     {% endif %}
  65.                 </div>
  66.                 <div class="detail__info">
  67.                     <div class="detail__info-item">
  68.                         Rok výroby
  69.                         <strong class="detail__info-strong">
  70.                             <i class="icon icon-calendar"></i>
  71.                             {{ vehicle.madeDate ? vehicle.madeDate|slice(0,4) : 'neuvedeno' }}
  72.                         </strong>
  73.                     </div>
  74.                     <div class="detail__info-item">
  75.                         Tachometr
  76.                         <strong class="detail__info-strong">
  77.                             <i class="icon icon-tachometer"></i>
  78.                             {{ vehicle.mileage ? vehicle.mileage|number_format(null, ' ', ' ') ~' '~vehicle.mileageUnit  : 'neuvedeno' }}
  79.                         </strong>
  80.                     </div>
  81.                     <div class="detail__info-item">
  82.                         Palivo
  83.                         <strong class="detail__info-strong">
  84.                             <i class="icon icon-gas"></i>
  85.                             {{ vehicle.fuel ? vehicle.fuel.name : 'neuvedeno' }}
  86.                         </strong>
  87.                     </div>
  88.                     <div class="detail__info-item">
  89.                         Převodovka
  90.                         <strong class="detail__info-strong">
  91.                             <i class="icon icon-settings"></i>
  92.                             {{  vehicle.gearbox  ?  vehicle.gearbox|trans  : 'neuvedeno' }}
  93.                         </strong>
  94.                     </div>
  95.                     <div class="detail__info-item">
  96.                         Výkon
  97.                         <strong class="detail__info-strong">
  98.                             <i class="icon icon-power"></i>
  99.                             {{ vehicle.enginePower ? vehicle.enginePower ~' kW' : 'neuvedeno' }}
  100.                         </strong>
  101.                     </div>
  102.                     <div class="detail__info-item">
  103.                         Karoserie
  104.                         <strong class="detail__info-strong">
  105.                             <i class="icon icon-car"></i>
  106.                             {{ vehicle.body ? vehicle.body.name : 'neuvedeno' }}
  107.                         </strong>
  108.                     </div>
  109.                 </div>
  110.                 <h2>Popis</h2>
  111.                 <div class="detail__more js-detail__more">
  112.                     <div class="detail__more-content js-detail__more-content">
  113.                         <p> {{ vehicle.note }} </p>
  114.                     </div>
  115.                     <div class="detail__more-control">
  116.                         <button class="button detail__more-toggler js-detail__more-toggler" type="button">
  117.                             <span class="detail__more-toggler-show">Zobrazit více</span>
  118.                             <span class="detail__more-toggler-hide">Zobrazit méně</span>
  119.                         </button>
  120.                     </div>
  121.                 </div>
  122.                 <h2>Informace o vozu</h2>
  123.                 <div class="detail__columns detail__hidden--mobile">
  124.                     <table>
  125.                         <tbody>
  126.                         <tr>
  127.                             <th>Prodejní cena</th>
  128.                             <td> {{ vehicle.price ? vehicle.price|number_format(0, null, ' ')~' Kč' : 'dohodou' }}</td>
  129.                         </tr>
  130.                         {% if  vehicle.vat %}
  131.                         <tr>
  132.                             <th> Cena bez DPH</th>
  133.                             <td>
  134.                                 {% if  vehicle.price %}
  135.                                     {{ (vehicle.price / 1.21)|number_format(0, null, ' ')  }}  Kč
  136.                                 {% else %}
  137.                                     neuvedeno
  138.                                 {% endif  %} </td>
  139.                         </tr>
  140.                         {% endif %}
  141.                         <tr>
  142.                             <th>Odpočet DPH  </th>
  143.                             <td>{{ vehicle.vat ? 'ano' : 'ne' }} </td>
  144.                         </tr>
  145.                         <tr>
  146.                             <th> VIN</th>
  147.                             <td> {{ vehicle.vin ? vehicle.vin : 'neuvedeno' }}</td>
  148.                         </tr>
  149.                         {% if vehicle.dealer.checkVin %}
  150.                             <tr>
  151.                                 <th>Historie</th>
  152.                                 <td>
  153.                                     <a target="_blank"
  154.                                        href="https://cz.cebia.com/?utm_source=affilbox&utm_medium=affiliate&utm_campaign=Autanet_2013&a_box=j49grgww&vin={{ vehicle.vin }}"
  155.                                     >Zobrazit historii vozu</a>
  156.                                 </td>
  157.                             </tr>
  158.                         {% endif %}
  159.                         <tr>
  160.                             <th>Tachometr</th>
  161.                             <td>  {{ vehicle.mileage ? vehicle.mileage~' '~vehicle.mileageUnit : 'neuvedeno' }}  </td>
  162.                         </tr>
  163.                         <tr>
  164.                             <th>Druh paliva</th>
  165.                             <td>          {{ vehicle.fuel ? vehicle.fuel.name : 'neuvedeno' }}</td>
  166.                         </tr>
  167.                         <tr>
  168.                             <th>Objem</th>
  169.                             <td>
  170.                                 {{ vehicle.engineVolume ? vehicle.engineVolume~' ccm'  : 'neuvedeno' }} </td>
  171.                         </tr>
  172.                         </tbody>
  173.                     </table>
  174.                     <table>
  175.                         <tbody>
  176.                         <tr>
  177.                             <th>Karoserie</th>
  178.                             <td>  {{ vehicle.body  ? vehicle.body.name   : 'neuvedeno' }}</td>
  179.                         </tr>
  180.                         <tr>
  181.                             <th>Počet dveří</th>
  182.                             <td> {{ vehicle.doors  ? vehicle.doors  : 'neuvedeno' }}</td>
  183.                         </tr>
  184.                         <tr>
  185.                             <th>Počet míst</th>
  186.                             <td>   {{ vehicle.places  ? vehicle.places  : 'neuvedeno' }} </td>
  187.                         </tr>
  188.                         <tr>
  189.                             <th>Barva</th>
  190.                             <td>{{  vehicle.color.name }}   </td>
  191.                         </tr>
  192.                         <tr>
  193.                             <th>STK {% if vehicle.stkTo != 1 %}{{ vehicle.stkTo }}{% endif %}</th>
  194.                             <td>{% if vehicle.stkTo == 1 %}neuvedeno{% else %}{{  vehicle.stkTo ? vehicle.stkTo|slice(4,6)~'/'~vehicle.stkTo|slice(0,4)  : 'neuvedeno' }}{% endif %}  </td>
  195.                         </tr>
  196.                         <tr>
  197.                             <th>Země původu</th>
  198.                             <td>{{ vehicle.state ? vehicle.state : 'neuvedeno' }}  </td>
  199.                         </tr>
  200.                         <tr>
  201.                             <th>První majitel</th>
  202.                             <td>{{ vehicle.firstOwner ? 'ano' : 'ne' }}</td>
  203.                         </tr>
  204.                         </tbody>
  205.                     </table>
  206.                 </div>
  207.                 <div class="detail__hidden--desktop">
  208.                     <table>
  209.                         <tbody>
  210.                         <tr>
  211.                             <th>Prodejní cena</th>
  212.                             <td> {{ vehicle.price ? vehicle.price|number_format(0, null, ' ')~' Kč' : 'neuvedeno' }}</td>
  213.                         </tr>
  214.                         {% if  vehicle.vat %}
  215.                         <tr>
  216.                             <th> Cena bez DPH</th>
  217.                             <td>
  218.                                 {% if  vehicle.price %}
  219.                                     {{ (vehicle.price / 1.21)|number_format(0, null, ' ')  }}  Kč
  220.                                 {% else %}
  221.                                     neuvedeno
  222.                                 {% endif  %} </td>
  223.                         </tr>
  224.                         {% endif %}
  225.                         <tr>
  226.                             <th>Odpočet DPH</th>
  227.                             <td>{{ vehicle.vat ? 'ano' : 'ne' }} </td>
  228.                         </tr>
  229.                         <tr>
  230.                             <th> VIN</th>
  231.                             <td> {{ vehicle.vin ? vehicle.vin : 'neuvedeno' }}</td>
  232.                         </tr>
  233.                         {% if vehicle.dealer.checkVin %}
  234.                             <tr>
  235.                                 <th>Historie</th>
  236.                                 <td>
  237.                                     <a target="_blank"
  238.                                        href="https://cz.cebia.com/?utm_source=affilbox&utm_medium=affiliate&utm_campaign=Autanet_2013&a_box=j49grgww&vin={{ vehicle.vin }}"
  239.                                     >Zobrazit historii vozu</a>
  240.                                 </td>
  241.                             </tr>
  242.                         {% endif %}
  243.                         <tr>
  244.                             <th>Tachometr</th>
  245.                             <td>  {{ vehicle.mileage ? vehicle.mileage~' '~vehicle.mileageUnit : 'neuvedeno' }}  </td>
  246.                         </tr>
  247.                         <tr>
  248.                             <th>Druh paliva</th>
  249.                             <td>          {{ vehicle.fuel ? vehicle.fuel.name : 'neuvedeno' }}</td>
  250.                         </tr>
  251.                         <tr>
  252.                             <th>Objem</th>
  253.                             <td>
  254.                                 {{ vehicle.engineVolume ? vehicle.engineVolume~' ccm'  : 'neuvedeno' }} </td>
  255.                         </tr>
  256.                         <tr>
  257.                             <th>Karoserie</th>
  258.                             <td>  {{ vehicle.body  ? vehicle.body.name   : 'neuvedeno' }}</td>
  259.                         </tr>
  260.                         <tr>
  261.                             <th>Počet dveří</th>
  262.                             <td> {{ vehicle.doors  ? vehicle.doors  : 'neuvedeno' }}</td>
  263.                         </tr>
  264.                         <tr>
  265.                             <th>Počet míst</th>
  266.                             <td>   {{ vehicle.places  ? vehicle.places  : 'neuvedeno' }} </td>
  267.                         </tr>
  268.                         <tr>
  269.                             <th>Barva</th>
  270.                             <td>{{  vehicle.color.name }}   </td>
  271.                         </tr>
  272.                         <tr>
  273.                             <th>STK {% if vehicle.stkTo != 1 %}{{ vehicle.stkTo }}{% endif %}</th>
  274.                             <td>{% if vehicle.stkTo == 1 %}neuvedeno{% else %}{{  vehicle.stkTo ? vehicle.stkTo|slice(4,6)~'/'~vehicle.stkTo|slice(0,4)  : 'neuvedeno' }}{% endif %}  </td>
  275.                         </tr>
  276.                         <tr>
  277.                             <th>Země původu</th>
  278.                             <td>{{ vehicle.state ? vehicle.state : 'neuvedeno' }}  </td>
  279.                         </tr>
  280.                         <tr>
  281.                             <th>První majitel</th>
  282.                             <td>{{ vehicle.firstOwner ? 'ano' : 'ne' }}</td>
  283.                         </tr>
  284.                         </tbody>
  285.                     </table>
  286.                 </div>
  287.                 <h2>Výbava vozu</h2>
  288.                 <div class="detail__more js-detail__more">
  289.                     <div class="detail__more-content js-detail__more-content">
  290.                         <div class="detail__columns">
  291.                             <ul>
  292.                             {% for e in vehicle.equipments %}
  293.                                 <li>{{ e.name }}</li>
  294.                                 {% if (vehicle.equipments|length / 2)|round == loop.index  %}
  295.                                     </ul>  <ul>
  296.                                 {% endif %}
  297.                             {% endfor  %}
  298.                            </ul>
  299.                         </div>
  300.                     </div>
  301.                     <div class="detail__more-control">
  302.                         <button class="button detail__more-toggler js-detail__more-toggler" type="button">
  303.                             <span class="detail__more-toggler-show">Zobrazit více</span>
  304.                             <span class="detail__more-toggler-hide">Zobrazit méně</span>
  305.                         </button>
  306.                     </div>
  307.                 </div>
  308.             </section>
  309.             
  310.             <!-- Mobile contact section -->
  311.             <div class="dealer dealer--mobile" style="display: none;">
  312.                 <h2>Kontakt na prodejce</h2>
  313.                 {% if not vehicle.dealer.basicAdvertising %}
  314.                 <figure class="dealer__logo">
  315.                     {% if vehicle.dealer.logo %}
  316.                         <img
  317.                                 src="{{ asset('img-dealer/')~vehicle.dealer.logo    }}"
  318.                                 {{ stimulus_controller('symfony/ux-lazy-image/lazy-image', {
  319.                                     src: asset('img-dealer/')~vehicle.dealer.logo
  320.                                 }) }}
  321.                                 width="170"
  322.                         >
  323.                     {% endif  %}
  324.                 </figure>
  325.                 {% endif %}
  326.                 <h3>{{ vehicle.dealer.name }}</h3>
  327.                 <p>{{ vehicle.dealer.street }}, {{ vehicle.dealer.city }}<br>
  328.                     {{ vehicle.dealer.district.name }}</p>
  329.                 <a class="dealer__link" href="https://www.google.com/maps/search/?api=1&query={{ vehicle.dealer.lat }},{{ vehicle.dealer.lng }}" target="_blank">
  330.                     <i class="icon icon-map"></i>
  331.                     Zobrazit na mapě</a>
  332.                 <div class="dealer__opening-hours">
  333.                     <h4 class="detail__opening-hours-heading">
  334.                         <i class="icon icon-hours"></i>
  335.                         Provozní doba
  336.                     </h4>
  337.                     <div class="dealer__opening">
  338.                         {% for t in  openTime %}
  339.                             <div>{{ t.day.value }}</div>
  340.                             <div>{{ t.description }}</div>
  341.                         {% endfor %}
  342.                     </div>
  343.                 </div>
  344.                 <a class="dealer__button dealer__button--green js-modal-show" href="#modal--call">
  345.                     <i class="icon icon-phone"></i>
  346.                     Zavolat prodejci</a>
  347.                 <a class="dealer__button js-modal-show" href="#modal--write">
  348.                     <i class="icon icon-email"></i>
  349.                     Napsat prodejci
  350.                 </a>
  351.             </div>
  352.             
  353.             {% if vehicleOthers|length >  0 %}
  354.             <h4 class="detail__dealer-vehicles-heading">Další inzeráty prodejce</h4>
  355.             {% for v in vehicleOthers %}
  356.                 {% include 'vehicle/_vehicle.html.twig' with { vehicle: v } %}
  357.                 {% if loop.index == 1 %}
  358.                     <div id="banner-mobile-container" class="banner-mobile"></div>
  359.                 {%  endif %}
  360.                 {% if loop.index == 2 %}
  361.                     <div id="adform_squarem"></div>
  362.                 {%  endif %}
  363.                 {% if loop.index == 8 %}
  364.                     <div id="adform_squarem2"></div>
  365.                 {%  endif %}
  366.             {% endfor  %}
  367.             {%  endif  %}
  368.             {% if not vehicle.dealer.basicAdvertising %}
  369.             <footer class="grid__buttons">
  370.                 <a class="button" href="{{ path('page_dealer_vehicle', { url: vehicle.dealer.url }) }}">
  371.                     Zobrazit všechny inzeráty prodejce
  372.                     <i class="icon icon-chevron-right"></i>
  373.                 </a>
  374.             </footer>
  375.             {% endif %}
  376.             <hr>
  377.         </div>
  378.         <div>
  379.             <div class="grid__buttons">
  380.                 {#
  381.                 <a class="button" href="">
  382.                     Přidat k oblíbeným
  383.                     <i class="icon icon-heart"></i>
  384.                 </a>
  385.                 #}
  386.                 <a class="button js-modal-show" href="#modal--share">
  387.                     Sdílet inzerát
  388.                     <i class="icon icon-forward"></i>
  389.                 </a>
  390.             </div>
  391.             <div class="dealer">
  392.                 <h2>Kontakt na prodejce</h2>
  393.                 {% if not vehicle.dealer.basicAdvertising %}
  394.                 <figure class="dealer__logo">
  395.                     {% if vehicle.dealer.logo %}
  396.                         <img
  397.                                 src="{{ asset('img-dealer/')~vehicle.dealer.logo    }}"
  398.                                 {{ stimulus_controller('symfony/ux-lazy-image/lazy-image', {
  399.                                     src: asset('img-dealer/')~vehicle.dealer.logo
  400.                                 }) }}
  401.                                 width="170"
  402.                         >
  403.                     {% endif  %}
  404.                 </figure>
  405.                 {% endif %}
  406.                 <h3>{{ vehicle.dealer.name }}</h3>
  407.                 <p>{{ vehicle.dealer.street }}, {{ vehicle.dealer.city }}<br>
  408.                     {{ vehicle.dealer.district.name }}</p>
  409.                 <a class="dealer__link" href="https://www.google.com/maps/search/?api=1&query={{ vehicle.dealer.lat }},{{ vehicle.dealer.lng }}" target="_blank">
  410.                     <i class="icon icon-map"></i>
  411.                     Zobrazit na mapě</a>
  412.                 <div class="dealer__opening-hours">
  413.                     <h4 class="detail__opening-hours-heading">
  414.                         <i class="icon icon-hours"></i>
  415.                         Provozní doba
  416.                     </h4>
  417.                     <div class="dealer__opening">
  418.                         {% for t in  openTime %}
  419.                             <div>{{ t.day.value }}</div>
  420.                             <div>{{ t.description }}</div>
  421.                         {% endfor %}
  422.                     </div>
  423.                 </div>
  424.                 <a class="dealer__button dealer__button--green js-modal-show" href="#modal--call">
  425.                     <i class="icon icon-phone"></i>
  426.                     Zavolat prodejci</a>
  427.                 <a class="dealer__button js-modal-show" href="#modal--write">
  428.                     <i class="icon icon-email"></i>
  429.                     Napsat prodejci
  430.                 </a>
  431.             </div>
  432.             <div id="banner-container" class="banner"></div>
  433.             <div id="adform_halfpage"></div>
  434.         </div>
  435.     </section>
  436.     <div class="mobile-buttons">
  437.         <a class="mobile-buttons__item mobile-buttons__item--green js-modal-show" href="#modal--call">
  438.             <i class="icon icon-phone"></i>
  439.             Zavolat</a>
  440.         </a>
  441.         <a class="mobile-buttons__item js-modal-show" href="#modal--write">
  442.             <i class="icon icon-email"></i>
  443.             Napsat
  444.         </a>
  445.     </div>
  446.     <div class="modal" id="modal--share">
  447.         <div class="modal__overlay js-modal-close"></div>
  448.         <article class="modal__body">
  449.             <button class="modal__close js-modal-close" type="button"></button>
  450.             <div class="modal__header">
  451.                 <h2>Sdílet inzerci</h2>
  452.             </div>
  453.             <div class="share">
  454.                 <a target="_blank"  class="share__item" href="https://www.facebook.com/sharer/sharer.php?u={{ app.request.uri }}">
  455.                     <img src="{{ asset('img/share__icon--facebook.svg') }}" alt="">
  456.                     Facebook
  457.                 </a>
  458.                 <a target="_blank"  class="share__item" href="">
  459.                     <img src="{{ asset('img/share__icon--messenger.svg') }}" alt="fb-messenger://share/?link={{ app.request.uri }}">
  460.                     Messenger
  461.                 </a>
  462.                 <a target="_blank"  class="share__item" href="whatsapp://send?text={{ app.request.uri }}">
  463.                     <img src="{{ asset('img/share__icon--whatsapp.svg') }}" alt="">
  464.                     Whatsapp
  465.                 </a>
  466.                 <a target="_blank" class="share__item" href="https://twitter.com/intent/tweet?url={{ app.request.uri }}&text={{ vehicle_clean_name(vehicle) }} - {{  vehicle.madeDate|slice(0,4) }}, {{  vehicle.mileage }} {{  vehicle.mileageUnit }}">
  467.                     <img src="{{ asset('img/share__icon--twitter.svg') }}" alt="">
  468.                     Twitter
  469.                 </a>
  470.                 <a target="_blank"  class="share__item"
  471.                    href="mailto:?subject={{ vehicle_clean_name(vehicle) }} - {{ vehicle.madeDate|slice(0,4) }}, {{ vehicle.mileage }} {{ vehicle.mileageUnit }}&amp;body=Podívej se na {{ app.request.uri }}">
  472.                     <img src="{{ asset('img/share__icon--envelope.svg') }}" alt="">
  473.                     E-mail
  474.                 </a>
  475.             </div>
  476.             <footer class="modal__footer">
  477.                 <button class="modal__link js-modal-close" type="button">zavřít okno</button>
  478.             </footer>
  479.         </article>
  480.     </div>
  481.     <div class="modal" id="modal--call">
  482.         <div class="modal__overlay js-modal-close"></div>
  483.         <article class="modal__body">
  484.             <button class="modal__close js-modal-close" type="button"></button>
  485.             <div class="modal__header">
  486.                 <h2>Zavolat prodejci</h2>
  487.             </div>
  488.             <div class="share">
  489.                  {% for p in  vehicle.dealer.dealerPhones %}
  490.                 <a class="share__item" href="tel:{{ p.name }}">
  491.                     <img src="{{ asset('img/share__icon--phone.svg') }}" alt="telefon">
  492.                      {{ p.name }}
  493.                 </a>
  494.                 {% endfor %}
  495.             </div>
  496.             <footer class="modal__footer">
  497.                 <button class="modal__link js-modal-close" type="button">zavřít okno</button>
  498.             </footer>
  499.         </article>
  500.     </div>
  501.     <div class="modal" id="modal--write">
  502.         <div class="modal__overlay js-modal-close"></div>
  503.         <article class="modal__body modal__body--large">
  504.             <button class="modal__close js-modal-close" type="button"></button>
  505.             <div class="modal__header">
  506.                 <h2>Napsat prodejci</h2>
  507.             </div>
  508.             <section>
  509.                     <article>
  510.                         <form class="form">
  511.                             <input type="hidden" value="{{ vehicle.id }}" name="vehicleId">
  512.                             <div class="form__group form__group--strong">
  513.                                 <input placeholder="Vaše jméno" name="name" required>
  514.                             </div>
  515.                             <div class="form__group form__group--strong">
  516.                                 <input type="email" placeholder="Váš e-mail" name="email" required>
  517.                             </div>
  518.                             <div class="form__group form__group--strong">
  519.                                 <input type="tel" placeholder="Vaše telefonní číslo"  name="phone" required>
  520.                             </div>
  521.                             <div class="form__group form__group--strong">
  522.                 <textarea class="textarea_changer_target" placeholder="Vaše zpráva" rows="5"  name="message"
  523.                           data-variants='{
  524.                           "1":"Dobrý den, mám zájem o vaši nabídku „{{ vehicle_clean_name(vehicle) }} - Rok {{ vehicle.madeDate|slice(0,4) }}, {{ vehicle.mileage }} {{ vehicle.mileageUnit }}". Můžete mi prosím zavolat? Děkuji",
  525.                           "2":"Dobrý den, je vozidlo „{{ vehicle_clean_name(vehicle) }} - Rok {{ vehicle.madeDate|slice(0,4) }}, {{ vehicle.mileage }} {{ vehicle.mileageUnit }}" stále k dispozici? Kontaktujte mě prosím. Děkuji.",
  526.                           "3":"Dobrý den, mám vážný zájem o vozidlo „{{ vehicle_clean_name(vehicle) }} - Rok {{ vehicle.madeDate|slice(0,4) }}, {{ vehicle.mileage }} {{ vehicle.mileageUnit }}". Je možné jej zarezervovat? Děkuji.",
  527.                           "4":"Dobrý den, mám vážný zájem o vozidlo „{{ vehicle_clean_name(vehicle) }} - Rok {{ vehicle.madeDate|slice(0,4) }}, {{ vehicle.mileage }} {{ vehicle.mileageUnit }}". Můžeme se dohodnout na nižší ceně? Je to reálné? Děkuji za odpověď."}'>
  528. Dobrý den, mám zájem o vaši nabídku „{{ vehicle_clean_name(vehicle) }} - Rok {{ vehicle.madeDate|slice(0,4) }}, {{ vehicle.mileage }} {{ vehicle.mileageUnit }}". Můžete mi prosím zavolat? Děkuji
  529.                 </textarea>
  530.                             </div>
  531.                             <p class="form__info">Kliknutím na tlačítko Odeslat zprávu vyjadřujete svůj souhlas se zásadami
  532.                                 <a  target="_blank" href="/ochrana-osobnich-udaju">Ochrany osobních údajů</a>.</p>
  533.                             <button class="form__submit form__submit--block" type="submit">
  534.                                 <i class="icon icon-email"></i>
  535.                                 Odeslat zprávu
  536.                             </button>
  537.                         </form>
  538.                     </article>
  539.             </section>
  540.         </article>
  541.     </div>
  542.     <script>
  543.         const forms  = document.querySelectorAll('form')
  544.         forms.forEach((form)=> {
  545.             form.addEventListener('submit', (e)=> {
  546.                 e.preventDefault()
  547.                 let formData =  new FormData(form);
  548.                 grecaptcha.ready(function() {
  549.                     grecaptcha.execute('{{ google_recaptcha_site_key }}', { action: 'submit' }).then(function(token) {
  550.                         formData.append('token', token)
  551.                         const data = new URLSearchParams(formData);
  552.                         (async () => {
  553.                             const rawResponse = await fetch('{{ path('app_vehicle_form_new') }}', {
  554.                                 method: 'POST',
  555.                                 body:  data
  556.                             });
  557.                             const content = await rawResponse.json();
  558.                             const button =   form.querySelector('button')
  559.                             if(content.error === false) {
  560.                                 form.reset()
  561.                                 button.innerText = 'Odesláno, děkujeme za poptávku.'
  562.                                 button.classList.add("back-green")
  563.                             } else {
  564.                                 button.innerText = content.error
  565.                                 button.classList.add("back-red")
  566.                             }
  567.                         })();
  568.                     });
  569.                 });
  570.             })
  571.         })
  572.     </script>
  573.     {#
  574.     <div class="modal" id="modal--map">
  575.         <div class="modal__overlay js-modal-close"></div>
  576.         <article class="modal__body" style="padding: 5px; max-width: none; height: 75%;">
  577.             <iframe
  578.                     src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d1318529.0090685813!2d14.353945871812089!3d49.80013041918973!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x470b948fd7dd8243%3A0xf8661c75d3db586f!2sCzechia!5e0!3m2!1sen!2ses!4v1677857037662!5m2!1sen!2ses"
  579.                     style="border:0; width: 100%; height: 100%;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>
  580.         </article>
  581.     </div>
  582.     #}
  583.     <script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
  584.     <script>
  585.         $(".js-select2").select2({
  586.             language: "cs",
  587.             minimumResultsForSearch: -1,
  588.             width: "100%",
  589.         });
  590.         function handleMobileContact() {
  591.             const isMobile = window.innerWidth <= 768;
  592.             const mobileContact = document.querySelector('.dealer--mobile');
  593.             const desktopContact = document.querySelector('.dealer:not(.dealer--mobile)');
  594.             
  595.             if (isMobile) {
  596.                 mobileContact.style.display = 'block';
  597.                 desktopContact.style.display = 'none';
  598.             } else {
  599.                 mobileContact.style.display = 'none';
  600.                 desktopContact.style.display = 'block';
  601.             }
  602.         }
  603.         handleMobileContact();
  604.         window.addEventListener('resize', handleMobileContact);
  605.         
  606.         // === VEHICLE STATISTICS TRACKING ===
  607.         // Trackování zobrazení stránky
  608.         trackVehicleAction('view');
  609.         
  610.         // Trackování "Zavolat prodejci" tlačítek
  611.         document.querySelectorAll('.js-modal-show[href="#modal--call"]').forEach(button => {
  612.             button.addEventListener('click', () => {
  613.                 trackVehicleAction('call_dealer');
  614.             });
  615.         });
  616.         
  617.         // Trackování "Napsat prodejci" tlačítek
  618.         document.querySelectorAll('.js-modal-show[href="#modal--write"]').forEach(button => {
  619.             button.addEventListener('click', () => {
  620.                 trackVehicleAction('message_dealer');
  621.             });
  622.         });
  623.         
  624.         // Trackování kliků na tel. čísla
  625.         setTimeout(() => {
  626.             document.querySelectorAll('a[href^="tel:"]').forEach(link => {
  627.                 link.addEventListener('click', () => {
  628.                     trackVehicleAction('phone_click');
  629.                 });
  630.             });
  631.         }, 100);
  632.         function trackVehicleAction(action) {
  633.             const formData = new FormData();
  634.             formData.append('vehicle_id', '{{ vehicle.id }}');
  635.             formData.append('action', action);
  636.             
  637.             fetch('{{ path('app_vehicle_statistics_track') }}', {
  638.                 method: 'POST',
  639.                 body: formData
  640.             }).catch(error => {
  641.                 console.log('Tracking error:', error);
  642.             });
  643.         }
  644.     </script>
  645. {% endblock %}