templates/page/contact.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block title %}Kontakt{% endblock %}
  3. {% block body %}
  4.     <main>
  5.         <!-- =======================
  6.         Page Banner START -->
  7.         <section class="pt-5 pb-0" style="background-image:url(assets/images/element/map.svg); background-position: center left; background-size: cover;">
  8.             <div class="container">
  9.                 <div class="row">
  10.                     <div class="col-lg-8 col-xl-6 text-center mx-auto">
  11.                         <!-- Title -->
  12.                         <h1 class="mb-4">Chętnie Ci pomożemy!</h1>
  13.                     </div>
  14.                 </div>
  15.                 <div class="row g-4 g-md-5 mt-0 mt-lg-3 justify-content-md-center">
  16.                     <!-- Box item -->
  17.                     <div class="col-lg-6 mt-lg-0">
  18.                         <div class="card card-body shadow py-5 text-center h-100">
  19.                             <!-- Title -->
  20.                             <h5 class="mb-3">Dane Kontaktowe</h5>
  21.                             <ul class="list-inline mb-4">
  22.                                 <!-- Phone number -->
  23.                                 <li class="list-item mb-3 h6 fw-light">
  24.                                     <a href="tel:667-736-890"> <i class="fas fa-fw fa-phone-alt me-2"></i>+48 667 736 890 </a>
  25.                                 </li>
  26.                                 <!-- Email id -->
  27.                                 <li class="list-item mb-0 h6 fw-light">
  28.                                     <a href="mailto:bok@zatokakodu.pl"> <i class="far fa-fw fa-envelope me-2"></i>bok@zatokakodu.pl</a>
  29.                                 </li>
  30.                             </ul>
  31.                             <!-- Company data -->
  32.                             <h5 class="mb-3">Dane firmy</h5>
  33.                             <ul class="list-unstyled mb-0 text-start mx-auto" style="max-width: 600px;">
  34.                                 <li class="mb-2"><strong>Nazwa:</strong> PROGRAMMERS sp. z o. o.</li>
  35.                                 <li class="mb-2"><strong>Adres:</strong>Jastrzębie-Zdrój 44-335, Poznańska 13/9</li>
  36.                                 <li class="mb-2"><strong>NIP:</strong>6332244758</li>
  37.                             </ul>
  38.                         </div>
  39.                     </div>
  40.                 </div>
  41.             </div>
  42.         </section>
  43.         <!-- =======================
  44.         Page Banner END -->
  45.         <!-- =======================
  46.         Image and contact form START -->
  47.         <section >
  48.             <div class="container">
  49.                 <div class="row g-4 g-lg-0 align-items-center">
  50.                     <div class="col-md-6 align-items-center text-center">
  51.                         <!-- Image -->
  52.                         <img src="assets/images/element/contact.svg" class="h-400px" alt="">
  53.                     </div>
  54.                     <!-- Contact form START -->
  55.                     <div class="col-md-6" id="mailBox">
  56.                         <!-- Title -->
  57.                         <h2 class="mt-4 mt-md-0">Napisz do Nas</h2>
  58.                         <form>
  59.                             <!-- Name -->
  60.                             <div class="mb-4 bg-light-input">
  61.                                 <label for="yourName" class="form-label">Imię i Nazwisko dziecka</label>
  62.                                 <input type="text" name="name" class="form-control form-control-lg" id="yourName">
  63.                             </div>
  64.                             <!-- Email -->
  65.                             <div class="mb-4 bg-light-input">
  66.                                 <label for="emailInput" class="form-label">Adres email *</label>
  67.                                 <input type="email" name="email" class="form-control form-control-lg" id="emailInput">
  68.                             </div>
  69.                             <div class="mb-4 bg-light-input">
  70.                                 <label for="phoneInput" class="form-label">Telefon *</label>
  71.                                 <input type="phone" name="phone" class="form-control form-control-lg" id="phoneInput">
  72.                             </div>
  73.                             <!-- Message -->
  74.                             <div class="mb-4 bg-light-input">
  75.                                 <label for="textareaBox" class="form-label">Wiadomość *</label>
  76.                                 <textarea name="message" class="form-control" id="textareaBox" rows="4"></textarea>
  77.                             </div>
  78.                             <!-- Button -->
  79.                             <div class="d-grid">
  80.                                 <button class="btn btn-lg btn-primary mb-0" id="send_button" type="button">Wyślij wiadomość</button>
  81.                             </div>
  82.                         </form>
  83.                     </div>
  84.                     <!-- Contact form END -->
  85.                 </div>
  86.             </div>
  87.         </section>
  88.         <!-- =======================
  89.         Image and contact form END -->
  90.     </main>
  91. {% endblock %}
  92. {%  block js %}
  93.     {{ parent() }}
  94.     <script src="{{ asset('./assets/js/jquery-3.6.4.min.js')  }}"></script>
  95.     <script>
  96.         function isValidEmail() {
  97.             var input = document.getElementById('emailInput')
  98.             var pattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
  99.             return pattern.test(input.value);
  100.         }
  101.         function sendMessage() {
  102.             const data = {
  103.                 name: $('#yourName').val(),
  104.                 phone: $('#phoneInput').val(),
  105.                 email: $('#emailInput').val(),
  106.                 message: $('#textareaBox').val(),
  107.                 type: 'contact'
  108.             };
  109.             $.ajax({
  110.                 url: '/message',
  111.                 method: 'POST',
  112.                 data: data,
  113.                 success: function(response) {
  114.                     document.getElementById('mailBox').innerHTML = '<h2 class="mt-4 mt-md-0">Dziękujemy!</h2><h3>twoja wiadomość została wysłana</h3><h5>Jeden z naszych pracowników odpowie najszybciej jak to możliwe.</h5>';
  115.                 },
  116.                 error: function(jqXHR, textStatus, errorThrown) {
  117.                     console.error('Error sending message:', errorThrown);
  118.                 }
  119.             });
  120.         }
  121.         document.getElementById('send_button').addEventListener('click', function() {
  122.             var alert = document.createElement('div');
  123.             if(isValidEmail()) {
  124.                 sendMessage()
  125.             } else {
  126.                 alert.className = 'alert text-center alert-danger';
  127.                 alert.innerHTML = '<h4 class="alert-heading">Podaj prawidłowy adres email</h4>';
  128.             }
  129.             alert.style.position = 'fixed';
  130.             alert.style.left = '50%';
  131.             alert.style.top = '30%';
  132.             alert.style.transform = 'translate(-50%, -50%)';
  133.             alert.style.BorderRadius = "10px";
  134.             alert.style.zIndex = '10';
  135.             document.body.appendChild(alert);
  136.             setTimeout(function() {
  137.                 document.body.removeChild(alert);
  138.             }, 2000);
  139.         });
  140.     </script>
  141.     {{ parent() }}
  142. {%  endblock %}