templates/contact/contact.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block title %}Контакты – Николай Макаров{% endblock %}
  3. {% block head %}
  4.   <meta name="description" content="Контактная информация художника Николая Макарова. Свяжитесь в Telegram, по телефону или электронной почте, чтобы задать вопросы о работах и заказах.">
  5.   <meta property="og:title" content="Контакты – Николай Макаров">
  6.   <meta property="og:description" content="Контактная информация художника Николая Макарова. Свяжитесь с нами для получения информации о произведениях искусства и заказах.">
  7.   <meta property="og:type" content="website">
  8.   <meta property="og:image" content="{{ asset('photos/contact-image.jpg') }}">
  9.   {{ parent() }}
  10. {% endblock %}
  11. {% block body %}
  12.   <div class="flex flex-col items-center">
  13.     <h1 class="font-serif text-4xl my-6 font-semibold">Контакты</h1>
  14.     
  15.     <div class="lg:flex w-full contact_container">
  16.       <div id="mapContainer" class="lg:w-1/2">
  17.         {% include 'contact/map.html.twig' %}
  18.       </div>
  19.       <div id="contactInfo" class="lg:w-1/2 mb-2.5">
  20.         <div class="text-left max-w-xl mt-8">
  21.           <p class="my-4">Мы работаем над созданием уникального и вдохновляющего места, где вы сможете насладиться множеством произведений искусства.</p>
  22.           <p class="my-4">На данный момент галерея недоступна для посещения. Рекомендуем посетить музей Эрмитаж для знакомства с искусством.</p>
  23.         </div>
  24.         <p class="my-4 text-xl font-bold">Для связи со мной:</p>
  25.         <div class="flex flex-col gap-3 text-lg">
  26.           <div>
  27.             <span class="font-medium">Telegram:</span>
  28.             <a href="https://t.me/makarov_nikola"
  29.                target="_blank"
  30.                rel="noopener"
  31.                class="text-blue-700 underline hover:text-blue-900"
  32.                aria-label="Написать в Telegram @makarov_nikola">
  33.               @makarov_nikola
  34.             </a>
  35.             <p class="text-sm text-gray-600 mt-0.5">
  36.               Самый быстрый способ связаться — отвечаю обычно сразу.
  37.             </p>
  38.           </div>
  39.           <div>
  40.             <span class="font-medium">Телефон:</span>
  41.             <a href="tel:+79811575441"
  42.                class="text-blue-700 underline hover:text-blue-900"
  43.                aria-label="Позвонить по номеру +7 981 157 54 41">
  44.               +7 981 157 54 41
  45.             </a>
  46.           </div>
  47.           <div>
  48.             <span class="font-medium">Email:</span>
  49.             <a href="mailto:79052288389@yandex.ru"
  50.                class="text-blue-700 underline hover:text-blue-900"
  51.                aria-label="Отправить письмо на 79052288389@yandex.ru">
  52.               79052288389@yandex.ru
  53.             </a>
  54.           </div>
  55.         </div>
  56.         {# 
  57.           СТАРАЯ КНОПКА И МОДАЛЬНОЕ ОКНО С ФОРМОЙ
  58.           Полностью сохранены, но отключены.
  59.         <!-- Modal toggle -->
  60.         <button data-modal-target="authentication-modal" data-modal-toggle="authentication-modal" class="button_contact block text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800 mt-4" type="button" aria-label="Написать сообщение">Написать мне</button>
  61.         
  62.         <!-- Main modal -->
  63.         <div id="authentication-modal" tabindex="-1" aria-hidden="true" class="fixed top-0 left-0 right-0 z-50 hidden w-full p-4 overflow-x-hidden overflow-y-auto md:inset-0 h-[calc(100%-1rem)] max-h-full animate-fade-in">
  64.           <div class="relative w-full max-w-md max-h-full">
  65.             <!-- Modal content -->
  66.             <div class="relative bg-white rounded-lg shadow dark:bg-gray-700">
  67.               <button type="button" class="absolute top-3 right-2.5 text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 ml-auto inline-flex items-center dark:hover:bg-gray-800 dark:hover:text-white" data-modal-hide="authentication-modal" aria-label="Закрыть модальное окно">
  68.                 <svg aria-hidden="true" class="w-5 h-5" fill="currentColor" viewbox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
  69.                   <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
  70.                 </svg>
  71.               </button>
  72.               <div class="px-6 py-6 lg:px-8">
  73.                 <h3 class="mb-4 text-xl font-medium text-gray-900 dark:text-white">Напишите мне сообщение</h3>
  74.                 <form id="contactForm" class="space-y-6" action="{{ path('contact') }}" method="POST">
  75.                   <div>
  76.                     <label for="phone" class="block mb-2 text-sm font-medium text-gray-900 dark:text-white">Ваш номер телефона</label>
  77.                     <input type="tel" name="phone" id="phone" class="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-600 dark:border-gray-500 dark:placeholder-gray-400 dark:text-white" placeholder="Введите номер телефона" required aria-label="Введите номер телефона">
  78.                   </div>
  79.                   <div>
  80.                     <label for="text" class="block mb-2 text-sm font-medium text-gray-900 dark:text-white">Текст сообщения</label>
  81.                     <textarea name="text" id="text" placeholder="Введите сообщение" class="whitespace-normal align-top bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-600 dark:border-gray-500 dark:placeholder-gray-400 dark:text-white" required maxlength="200" style="height: 80px; text-align: left; vertical-align: top; padding-top: 20px; resize: none;" aria-label="Введите текст сообщения"></textarea>
  82.                     <span id="warningMessage" class="text-red-600 text-sm" style="display: none;">
  83.                       <span id="characterCount">200</span> символов осталось
  84.                     </span>
  85.                   </div>
  86.                   <button type="submit" class="w-full text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800">Отправить</button>
  87.                 </form>
  88.               </div>
  89.             </div>
  90.           </div>
  91.         </div>
  92.         #}
  93.       </div>
  94.     </div>
  95.   </div>
  96.   {% block javascript %}
  97.     {# Старые скрипты для маски телефона и reCAPTCHA — отключены, но сохранены.
  98.     <script src="https://cdnjs.cloudflare.com/ajax/libs/imask/7.1.3/imask.js"></script>
  99.     <script src="https://www.google.com/recaptcha/enterprise.js?render=6LcUV0UnAAAAAAeRtvxAL7YDDqeuPrTi07hlKMrl"></script>
  100.     #}
  101.     
  102.     <script>
  103.       document.addEventListener('DOMContentLoaded', function () {
  104.         const mapContainer = document.getElementById('mapContainer');
  105.         const toggleMapButton = document.getElementById('toggleMap');
  106.         
  107.         if (toggleMapButton && mapContainer) {
  108.           toggleMapButton.addEventListener('click', function () {
  109.             mapContainer.classList.toggle('hidden');
  110.             toggleMapButton.textContent = mapContainer.classList.contains('hidden') ? 'Открыть карту' : 'Закрыть карту';
  111.           });
  112.         }
  113.       });
  114.     </script>
  115.   {% endblock %}
  116. {% endblock %}