Nowa strona kontaktowa

This commit is contained in:
Roman Pyrih
2025-04-10 12:36:11 +02:00
parent dc9d6f288a
commit d931260e2c
4 changed files with 1715 additions and 0 deletions

View File

@@ -0,0 +1,716 @@
<? \S::set_session('contact-form-token', bin2hex(random_bytes(32))); ?>
<?php
$google_map_api = 'AIzaSyD-1SOVhJXr6HREtfmMILvlmV-hml3nxUg';
$partnerzy_handlowi_polska = [
[
'regions' => 'PODKARPACKIE, ŚWIĘTOKRZYSKIE, MAŁOPOLSKIE, LUBELSKIE, MAZOWIECKIE',
'position' => 'Doradca ds. Kluczowych Klientów',
'name' => 'Łukasz Cieślachowski',
'phones' => [
[
'label' => 'tel.',
'value' => '+48 602 374 711'
]
],
'emails' => [
[
'label' => 'e-mail:',
'value' => 'l.cieslachowski@vidok.com'
]
]
],
[
'regions' => 'OPOLSKIE, DOLNOŚLĄSKIE,<br/> ŚLĄSKIE, LUBUSKIE',
'position' => 'Doradca ds. Kluczowych Klientów',
'name' => 'Artur Wąsowski',
'phones' => [
[
'label' => 'tel.',
'value' => '+48 728 976 847'
]
],
'emails' => [
[
'label' => 'e-mail:',
'value' => 'a.wasowski@vidok.com'
]
]
],
];
$partnerzy_handlowi_export = [
[
'title' => 'NIEMCY <span>|</span> DE <br/> AUSTRIA <span>|</span> AU',
'phones' => [
[
'label' => 'tel.:',
'value' => '+48 880 914 179',
]
],
'emails' => [
[
'label' => 'e-mail:',
'value' => 'anfrage@vidok.com',
]
],
],
[
'title' => 'WIELKA BRYTANIA <span>|</span> UK',
'phones' => [
[
'label' => 'tel.:',
'value' => '+48 882 399 733',
]
],
'emails' => [
[
'label' => 'e-mail:',
'value' => 'enquiries@vidok.com',
]
],
],
[
'title' => 'IRLANDIA <span>|</span> IR <br/> USA <span>|</span> US <br/> KANADA <span>|</span> CA <br/> AUSTRALIA <span>|</span> AU <br/>',
'phones' => [
[
'label' => 'tel.:',
'value' => '+48 17 853 92 46',
]
],
'emails' => [
[
'label' => 'e-mail:',
'value' => 'sales@vidok.com',
]
],
],
[
'title' => 'FRANCJA <span>|</span> FR <br/> BELGIA <span>|</span> BE <br/> HISZPANIA <span>|</span> ES <br/> SZWAJCARIA <span>|</span> CH <br/> WĘGRY <span>|</span> HU',
'phones' => [
[
'label' => 'tel.:',
'value' => '+48 17 85 95 663',
]
],
'emails' => [
[
'label' => 'e-mail:',
'value' => 'contact@vidok.com',
]
],
],
[
'title' => 'WŁOCHY <span>|</span> IT',
'phones' => [
[
'label' => 'tel.:',
'value' => '+48 17 859 56 72',
]
],
'emails' => [
[
'label' => 'e-mail:',
'value' => 'ufficio@vidok.com',
]
]
],
[
'title' => 'SŁOWACJA <span>|</span> SK <br/> CZECHY <span>|</span> CZ',
'phones' => [
[
'label' => 'tel.:',
'value' => '+421 901 732 575',
]
],
'emails' => [
[
'label' => 'e-mail:',
'value' => 'vidok.sk@gmail.com',
]
],
],
];
?>
<div class="main-page">
<div class="container">
<div class="row">
<div class="col-12">
<div class="breadcrumbs">
<a href="/">Strona główna</a>
<span class="sep"><img src="/images/breadcrumbs-sep.svg"></span>
<span class="last">Kontakt</span>
</div>
</div>
</div>
</div>
<div class="box-0">
<div class="container">
<div class="_columns">
<div class="_left">
<div class="_left-wrapper">
<h1>Siedziba firmy</h1>
<div class="_text _text-1">
<h2>VIDOK SP. Z O. O.</h2>
<p><strong>36-054 Rudna Mała 75</strong></p>
</div>
<div class="_text _text-2">
<p>KRS Nr. 0000191980</p>
<p>REGON: 690379060</p>
<p>NIP: 8131086710</p>
<br>
<p><a href="tel:+48178595660">+48 17 859 56 60</a></p>
<p><a href="mailto:sekretariat@vidok.com">sekretariat@vidok.com</a></p>
<p>pon. - pt. 7:00 - 15:00</p>
</div>
<div class="_accounts">
<img src="/layout/images/icon-bank.svg" class="_icon">
<div class="_text _bold">
ING BANK ŚLĄSKI S.A.<br>
SWIFT INGBPLPW
</div>
<div class="_accounts_numbers">
PLN: PL 31 1050 1562 1000 0090 3034 4197<br>
EUR: PL 84 1050 1562 1000 0090 3034 4213
</div>
</div>
<div class="direct-contact">
<a href="#direct-contact">
<div class="direct-contact__text">
<p><strong>Skontaktuj się bezpośrednio</strong></p>
<p>z wybranym działem</p>
</div>
<div class="direct-contact__img">
<img src="/upload/filemanager/icon/arrow-icon.svg" alt="">
</div>
</a>
</div>
</div>
</div>
<div class="_right">
<div class="contact-form-box">
<div class="c-row c-row-1">
<p>Masz pytania dotyczące naszych produktów lub chcesz otrzymać wycenę?</p>
<p>Wypełnij poniższy formularz kontaktowy- nasz specjalista <strong>skontaktuje się z Tobą</strong><br/> i odpowie na wszystkie pytania.</p>
</div>
<div class="c-row c-row-2">
<form method="POST" action="" enctype="multipart/form-data" id="contact-form-new">
<input type="hidden" name="action" value="send-contact-form-new">
<input type="hidden" name="token" value="<?= \S::get_session('contact-form-token'); ?>">
<input type="hidden" name="website" value="">
<div class="_2_columns">
<input type="text" name="name" placeholder="Imię" required>
<input type="email" name="email" placeholder="Adres e-mail" required>
</div>
<div class="_2_columns">
<input type="text" name="phone" placeholder="Telefon" required>
<input type="text" name="postal_code" placeholder="Kod pocztowy" required>
</div>
<div class="_2_columns">
<div class="voivodeship__wrapper">
<select name="voivodeship" required>
<option value="" disabled selected>Województwa</option>
<option value="dolnoslaskie">dolnośląskie</option>
<option value="kujawsko-pomorskie">kujawsko-pomorskie</option>
<option value="lubelskie">lubelskie</option>
<option value="lubuskie">lubuskie</option>
<option value="lodzkie">łódzkie</option>
<option value="malopolskie">małopolskie</option>
<option value="mazowieckie">mazowieckie</option>
<option value="opolskie">opolskie</option>
<option value="podkarpackie">podkarpackie</option>
<option value="podlaskie">podlaskie</option>
<option value="pomorskie">pomorskie</option>
<option value="slaskie">śląskie</option>
<option value="swietokrzyskie">świętokrzyskie</option>
<option value="warminsko-mazurskie">warmińsko-mazurskie</option>
<option value="wielkopolskie">wielkopolskie</option>
<option value="zachodniopomorskie">zachodniopomorskie</option>
</select>
</div>
<div class="_radios">
<div class="_radio">
<input type="radio" id="client-private" name="client" value="Klient prywatny" required>
<label for="client-private">Klient prywatny</label>
</div>
<div class="_radio">
<input type="radio" id="client-business" name="client" value="Klient biznesowy" required>
<label for="client-business">Klient biznesowy</label>
</div>
</div>
</div>
<div class="_1_column">
<textarea name="message" placeholder="Jeżeli masz jakieś uwagi, wytyczne możesz wpisać je tutaj. Możesz także wpisać wymiary i rodzaje okien jakimi jesteś zainteresowany."></textarea>
</div>
<div class="_text">Chcesz przesłać nam wizualizacje, projekt lub inne materiały? Skorzystaj z pola poniżej i dodaj plik do wiadomości.</div>
<div class="_file fileuploader fileuploader-theme-default">
<input type="hidden" name="fileuploader-list-files" value="[]">
<input type="file" name="files[]" class="files" multiple="multiple">
<div class="fileuploader-items">
<ul class="fileuploader-items-list"></ul>
</div>
</div>
<div class="_1_column">
<div class="_checkbox">
<input type="checkbox" name="zgoda_1" id="zgoda_1">
<label for="zgoda_1">Wyrażam zgodę na przetwarzanie moich danych osobowych podanych przeze mnie powyżej w celu przygotowania stosownej oferty.</label>
</div>
</div>
<div class="_1_column">
<div class="_checkbox">
<input type="checkbox" name="zgoda_2" id="zgoda_2">
<label for="zgoda_2">Wyrażam zgodę na przetwarzanie moich danych osobowych podanych przeze mnie powyżej w celu otrzymywania materiałów reklamowych.</label>
</div>
</div>
<div class="_1_column form_actions">
<div class="g-recaptcha" data-sitekey="6LfaovglAAAAAAieLVC7i4xGkQA5ufXUbWLipSbp"></div>
<button type="submit">Wyślij<img src="/images/contact-icon-check.svg"></button>
</div>
</form>
</div>
</div>
<!-- <div class="_accounts_numbers">
EUR: PL 84 1050 1562 1000 0090 3034 4213<br>
PLN: PL 31 1050 1562 1000 0090 3034 4197
</div> -->
</div>
</div>
</div>
</div>
<div class="box-2">
<div class="container">
<div class="tabs-box" id="tabs-box">
<div class="tabs-box--head">
<ul id="tabs-box-nav">
<li>
<a href="#klienci-indywidualni">
klienci<br/>
<strong>indywidualni</strong>
</a>
</li>
<li>
<a href="#klienci-instytucjonalni">
klienci<br/>
<strong>instytucjonalni</strong>
</a>
</li>
<li>
<a href="#partnerzy-handlowi-polska">
partnerzy handlowi<br/>
<strong>polska</strong>
</a>
</li>
<li>
<a href="#partnerzy-handlowi-export">
partnerzy handlowi<br/>
<strong>export</strong>
</a>
</li>
</ul>
</div>
<div class="tabs-box--body">
<!-- klienci indywidualni -->
<section id="klienci-indywidualni">
<div class="s-content s-style-1">
<div class="s-left-col">
<div class="map-point-info"></div>
</div>
<div class="s-right-col">
<div id="map-klienci-indywidualni" style="width: 100%; height: 500px;"></div>
</div>
</div>
</section>
<!-- klienci instytucjonalni -->
<section id="klienci-instytucjonalni">
<div class="s-content s-style-1">
<div class="s-left-col">
<div class="map-point-info"></div>
</div>
<div class="s-right-col">
<div id="map-klienci-instytucjonalni" style="width: 100%; height: 500px;"></div>
</div>
</div>
</section>
<!-- partnerzy handlowi polska -->
<section id="partnerzy-handlowi-polska">
<div class="s-content s-style-2">
<div class="tad-cards">
<?php foreach ($partnerzy_handlowi_polska as $partner): ?>
<div class="tab-card">
<div class="tab-card--head">
<p><strong>WOJEWÓDZTWA</strong></p>
<p><?= $partner['regions'] ?></p>
</div>
<div class="tab-card--text">
<p><?= htmlspecialchars($partner['position']) ?></p>
<p><?= htmlspecialchars($partner['name']) ?></p>
</div>
<div class="tab-card-info">
<?php foreach ($partner['phones'] as $phone): ?>
<a href="tel:<?= htmlspecialchars($phone['value']) ?>">
<?= $phone['label'] ?> <?= htmlspecialchars($phone['value']) ?>
</a>
<?php endforeach; ?>
<?php foreach ($partner['emails'] as $email): ?>
<a href="mailto:<?= htmlspecialchars($email['value']) ?>">
<?= $email['label'] ?> <?= htmlspecialchars($email['value']) ?>
</a>
<?php endforeach; ?>
</div>
</div>
<?php endforeach; ?>
</div>
</div>
</section>
<!-- partnerzy handlowi export -->
<section id="partnerzy-handlowi-export">
<div class="s-content s-style-3">
<div class="tad-cards">
<?php foreach ($partnerzy_handlowi_export as $partner): ?>
<div class="tab-card">
<div class="tab-card--head">
<p>
<strong><?= $partner['title'] ?></strong>
</p>
</div>
<div class="tab-card-info">
<?php foreach ($partner['phones'] as $phone): ?>
<a href="tel:<?= htmlspecialchars($phone['value']) ?>">
<?= $phone['label'] ?> <?= htmlspecialchars($phone['value']) ?>
</a>
<?php endforeach; ?>
<?php foreach ($partner['emails'] as $email): ?>
<a href="mailto:<?= htmlspecialchars($email['value']) ?>">
<?= $email['label'] ?> <?= htmlspecialchars($email['value']) ?>
</a>
<?php endforeach; ?>
</div>
</div>
<?php endforeach; ?>
</div>
</div>
</section>
</div>
</div>
</div>
</div>
<div class="box-3" id="direct-contact">
<div class="container">
<div class="row">
<div class="col-12">
<div class="tiles">
<div class="tile tile-1">
<h3>LOGISTYKA</h3>
<div class="tile-text">
<a href="tel:+48178676402">+48 17 867 64 02</a>
<br/>
<a href="mailto:logistyka@vidok.com">logistyka@vidok.com</a>
</div>
</div>
<div class="tile tile-2">
<h3>KSIĘGOWOŚĆ</h3>
<div class="tile-text">
<a href="tel:+48178595676">+48 17 859 56 76</a>
<br/>
<a href="mailto:ksiegowosc@vidok.com">ksiegowosc@vidok.com</a>
</div>
</div>
<div class="tile tile-3">
<h3>MARKETING</h3>
<div class="tile-text">
<a href="tel:+48178595667">+48 17 859 56 67</a>
<br/>
<a href="mailto:logistyka@vidok.com">logistyka@vidok.com</a>
</div>
</div>
<div class="tile tile-4">
<h3>SERWIS</h3>
<div class="tile-text">
<a href="tel:+48178595682">+48 17 859 56 82</a>
<br/>
<a href="mailto:serwis@vidok.com">serwis@vidok.com</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<link class="footer" href="/plugins/fileuploader/jquery.fileuploader.min.css" rel="stylesheet" type="text/css">
<link class="footer" href="/plugins/fileuploader/font/font-fileuploader.css" rel="stylesheet" type="text/css">
<script src="https://maps.googleapis.com/maps/api/js?key=<?php echo $google_map_api; ?>&callback=initMap" async defer></script>
<script class="footer" type="text/javascript" src="/plugins/fileuploader/jquery.fileuploader.min.js"></script>
<script type="text/javascript">
$(function(){
$('body').on('click', '#tabs-box #tabs-box-nav li a', function(e){
e.preventDefault();
var tabName = $(this).attr('href').replace('#', '');
activateTab(tabName);
})
function activateTab(tabName) {
$('#tabs-box #tabs-box-nav li').removeClass('active');
$(`#tabs-box #tabs-box-nav li a[href="#${tabName}"]`).parent().addClass('active');
$('#tabs-box .tabs-box--body section').removeClass('active');
$(`#tabs-box .tabs-box--body section[id="${tabName}"]`).addClass('active');
$('#tabs-box .tabs-box--body section').slideUp();
$(`#tabs-box .tabs-box--body section[id="${tabName}"]`).slideDown();
}
initActiveTab();
function initActiveTab() {
let tabsItems = $('#tabs-box #tabs-box-nav');
let firstTab = tabsItems.find('li:first-child a').attr('href').replace('#', '');
activateTab(firstTab);
}
});
function initMap() {
const indywidualniLocations = [
{
id: 1,
name: "Salon Rzeszów",
position: { lat: 50.0411, lng: 21.9991 },
icon: "https://maps.google.com/mapfiles/ms/icons/red-dot.png",
description: `
<p>
Rudna Mała 75/k. Rzeszowa<br/>
36-054 Rudna Mała<br/>
gm. Głogów Małopolski
</p>
<a class="contact-btn" href="/rudna-mala-salon">więcej o salonie</a>
`
},
{
id: 2,
name: "Salon Kraków",
position: { lat: 50.0647, lng: 19.9450 },
icon: "https://maps.google.com/mapfiles/ms/icons/blue-dot.png"
}
];
const instytucjonalniLocations = [
{
id: 1,
name: "Salon Warszawa",
position: { lat: 52.2297, lng: 21.0122 }
},
{
id: 2,
name: "Salon Wrocław",
position: { lat: 51.1079, lng: 17.0385 }
}
];
const mapOptions = {
center: { lat: 50.0411, lng: 21.9991 },
zoom: 11.2,
styles: [{
elementType: "geometry",
stylers: [{
color: "#F4F4F4"
}]
},
{
elementType: "labels.text.stroke",
stylers: [{
color: "F4F4F4"
}]
},
{
elementType: "labels.text.fill",
stylers: [{
color: "#181C1D"
}]
},
// (motorway)
{
featureType: "road.highway",
elementType: "geometry",
stylers: [{
color: "#BABABA"
}]
}, // Autostrady
{
featureType: "road.highway",
elementType: "geometry.stroke",
stylers: [{
color: "#BABABA"
}]
}, // Kontur autostrady
{
featureType: "road.highway",
elementType: "labels.text.fill",
stylers: [{
color: "#BABABA"
}]
}, // tekst
// (primary, secondary, local)
{
featureType: "road.arterial",
elementType: "geometry",
stylers: [{
color: "#BABABA"
}]
}, // Główne drogi
{
featureType: "road.local",
elementType: "geometry",
stylers: [{
color: "#BABABA"
}]
}, // Ulice
{
featureType: "road",
elementType: "labels.text.fill",
stylers: [{
color: "#BABABA"
}]
}, // tekst
// Ukryj numery dróg (E40, A4, 92 itp.)
{
featureType: "road",
elementType: "labels.icon",
stylers: [{
visibility: "off"
}]
}, // Ukryj ikony dróg
{
featureType: "road",
elementType: "labels.text",
stylers: [{
visibility: "off"
}]
}, // Ukryj tekst dróg
{
featureType: "water",
elementType: "geometry",
stylers: [{
color: "#F4F4F4"
}]
}, // Woda
{
featureType: "landscape",
elementType: "geometry",
stylers: [{
color: "#F4F4F4"
}]
}
]
};
const mapKlienciIndywidualni = new google.maps.Map(document.getElementById("map-klienci-indywidualni"), mapOptions);
const mapKlienciInstytucjonalni = new google.maps.Map(document.getElementById("map-klienci-instytucjonalni"), mapOptions);
addMarkersToMap(mapKlienciIndywidualni, indywidualniLocations, '#klienci-indywidualni .map-point-info');
addMarkersToMap(mapKlienciInstytucjonalni, instytucjonalniLocations, '#klienci-instytucjonalni .map-point-info');
}
function addMarkersToMap(map, locations, infoContainerSelector) {
const bounds = new google.maps.LatLngBounds();
locations.forEach(location => {
const marker = new google.maps.Marker({
position: location.position,
map: map,
title: location.name,
icon: location.icon || undefined
});
marker.addListener("click", () => {
const container = document.querySelector(infoContainerSelector);
if (container) {
// container.innerHTML = `
// <h4>${location.name}</h4>
// <p><strong>Adres:</strong> ${location.address || 'brak danych'}</p>
// <p><strong>Telefon:</strong> ${location.phone || '-'}</p>
// <p><strong>Email:</strong> ${location.email || '-'}</p>
// `;
container.innerHTML = location.description || 'brak danych';
}
});
bounds.extend(location.position);
});
map.fitBounds(bounds);
}
$(document).ready(function() {
$('#contact-form-new input.files').fileuploader({
fileMaxSize: 10,
extensions: ['jpg', 'jpeg', 'png', 'pdf', 'text/plain', 'csv', 'xml', 'xls', 'xlsx', 'doc', 'dot', 'docx'],
addMore: true,
captions: {
button: function(e) {
return "Wybierz plik<img src='/images/contact-icon-file.svg'>";
},
feedback: function(e) {
return (
"PRZYCIĄGNIJ I UPUŚĆ LUB"
);
},
feedback2: function(e) {
return (
e.length +
" " +
(1 < e.length ? "pliki są wybrane" : "plik jest wybrany")
);
},
confirm: "Potwierdzenie",
cancel: "Anuluj",
name: "Nazwa",
type: "Typ pliku",
size: "Rozmiar pliku",
dimensions: "Wymiary",
duration: "Czas",
crop: "Utnij to",
rotate: "Koło",
sort: "Sortować",
open: "Otwierasz",
download: "Ściągnij",
remove: "Usunąć",
drop: "Umieść plik tutaj do przesłania",
paste: '<div class="fileuploader-pending-loader"></div> Wklej plik, kliknij tutaj, aby usunąć',
removeConfirmation: "Czy na pewno chcesz usunąć plik??",
errors: {
filesLimit: "Sam ${limit} pliki można przesyłać.",
filesType: "Sam ${extensions} pliki można przesyłać.",
fileSize: "${name} jest zbyt duży! Wybierz plik do ${fileMaxSize} MB.",
filesSizeAll: "Wybrane pliki są za duże! Wybierz plik do ${maxSize} MB.",
fileName: "Plik o tej samej nazwie ${name} jest już wybrany.",
remoteFile: "Pliki zdalne są niedozwolone.",
folderUpload: "Foldery są niedozwolone.",
}
}
});
});
</script>