{# {% set cssContent = source('../public/assets/styles/v2023/public.css') %} #}
{% apply spaceless %}
{% set templateType = 'public' %}
{% set city = app.request.attributes.get('city', default_city()) %}
{% set isDefaultCity = city == default_city() %}
{# Создаём переменную для урла в логотипе #}
{% set logoUrl = app.request.requestUri == '/' ? path('homepage') :
(isDefaultCity ? '/' : path('profile_list.list_by_city', {"city": city.uriIdentity}))
%}
{% set months = {
"January": "Январь",
"February": "Февраль",
"March": "Март",
"April": "Апрель",
"May": "Май",
"June": "Июнь",
"July": "Июль",
"August": "Август",
"September": "Сентябрь",
"October": "Октябрь",
"November": "Ноябрь",
"December": "Декабрь"
} %}
{# {% apply inline_css(source("assets/colors.css")) %} #}
<!DOCTYPE html>
<html lang="{{ app.request.locale }}" class="page{{ app.request.get('_route') == 'map.page' ? ' full-page' : '' }}">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta http-equiv="Accept-CH" content="DPR">
<title>{% block title %}{{ seo_title() }}{% endblock %}</title>
{% block metaDescription %}
<meta name="description" content="{{ seo_description() }}">
{% endblock %}
{% block metaKeywords %}
<meta name="keywords" content="{{ seo_keywords() }}">
{% endblock %}
{% block metaRobots %}{% endblock %}
{% block metaSpecial %}{% endblock %}
{% block preconnect %}
{%- if responsive_media_base_url is defined -%}
<link rel="preconnect" href="{{ responsive_media_base_url|replace({'responsive': 'assets'}) }}" />
<link rel="preconnect" href="{{ responsive_media_base_url }}" />
{%- endif -%}
<link rel="preconnect" href="https://mc.yandex.ru">
<link rel="preconnect" href="https://www.googletagmanager.com">
<link rel="dns-prefetch" href="{{ responsive_media_base_url }}" />
{% endblock %}
{% block stylesheet %}
<style>
{% for asset_file in encore_entry_css_files('scripts/v2023/index', 'nodomainConfig') %}
{{ source(asset_file) }}
{% endfor %}
</style>
{% endblock %}
{# {{ encore_entry_link_tags('colors') }} #}
<style>
{% for asset_file in encore_entry_css_files('colors', 'nodomainConfig') %}
{{ source(asset_file) }}
{% endfor %}
</style>
{% block stylesheet_preload %}{% endblock %}
<style>
{% for asset_file in encore_entry_css_files('styles/v2023/public', 'nodomainConfig') %}
{{ source(asset_file) }}
{% endfor %}
</style>
{% block alternate %}{% endblock %}
{% block preloadAnyData %}{% endblock %}
{% block canonical %}
{% if actual_main_domain == app.request.host %}
<link rel="canonical" href="{{ canonical_url(actual_main_domain) }}">
{% endif %}
{% endblock %}
<!-- Icons -->
<link rel="icon" href="{{ asset('assets/images/favicons/favicon.ico')}}" type="image/x-icon">
<link rel="apple-touch-icon" sizes="180x180" href="{{ asset('assets/images/favicons/apple-touch-icon.png')}}" type="image/png">
<meta name="theme-color" content="#FF3F40">
</head>
<body {% block specialHtmlTagClass %} class="page__body{% block bodyClasses %}{% endblock %}"{% endblock %}>
<div class="wrapper{% block wrapper_class %}{% endblock %}">
{% block header %}
{% include '__design/v2023/components/header.html.twig' %}
{% endblock %}
<div class="content{% block content_class %}{% endblock %}">
{% block grid %}{% endblock %}
</div>
{% block footer %}
{{ include('__design/v2023/components/footer.html.twig') }}
{% endblock %}
<div class="overlay"></div>
</div>
{% block modal %}
{% endblock %}
{{ include('__design/v2023/components/modal.html.twig') }}
{% block stylesheet_postload1 %}
{% endblock %}
<svg class="d-none" xmlns="http://www.w3.org/2000/svg">
<symbol id="i-alert" viewBox="0 0 80 80">
<path fill="#FF3F40" fill-rule="evenodd" d="M6.668 67.576 40.001 10l33.334 57.576H6.668Zm56.151-6.06L40.001 22.09 17.183 61.515H62.82Zm-25.848-9.092v6.06h6.06v-6.06h-6.06Zm0-18.182h6.06v12.122h-6.06V34.242Z" clip-rule="evenodd"/>
</symbol>
<symbol id="i-ok" viewBox="0 0 80 80">
<path fill="#67C509" fill-rule="evenodd" d="M40.001 6.668c-18.4 0-33.333 14.933-33.333 33.333s14.933 33.334 33.333 33.334S73.335 58.4 73.335 40C73.335 21.601 58.4 6.668 40 6.668Zm0 60c-14.7 0-26.666-11.967-26.666-26.667 0-14.7 11.966-26.666 26.666-26.666 14.7 0 26.667 11.966 26.667 26.666 0 14.7-11.967 26.667-26.667 26.667Zm-6.666-19.433L55.3 25.268l4.7 4.733-26.666 26.667L20 43.335l4.7-4.7 8.634 8.6Z" clip-rule="evenodd"/>
</symbol>
<symbol id="search" viewBox="0 0 25 24">
<path fill-rule="evenodd" d="M8.056 2.685a9 9 0 0 1 10.476 13.933l3.675 3.675a1 1 0 0 1-1.414 1.414l-3.675-3.675A9 9 0 1 1 8.056 2.685ZM11.5 4a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z" clip-rule="evenodd"/>
</symbol>
<symbol id="selfie" viewBox="0 0 20 20">
<path d="M12.084 8.75a2.083 2.083 0 1 1-4.167 0 2.083 2.083 0 0 1 4.167 0Z"/><path fill-rule="evenodd" d="M1.667 6.667A3.333 3.333 0 0 1 5 3.333h10a3.333 3.333 0 0 1 3.334 3.334v6.666A3.333 3.333 0 0 1 15 16.667H5a3.333 3.333 0 0 1-3.333-3.334V6.667ZM5 5h10c.92 0 1.667.746 1.667 1.667v6.666c0 .92-.746 1.667-1.667 1.667h-2.083c0-1.841-1.306-3.333-2.917-3.333-1.61 0-2.916 1.492-2.916 3.333H5c-.92 0-1.666-.746-1.666-1.667V6.667C3.334 5.747 4.08 5 5 5Zm7.084 3.75a2.083 2.083 0 1 1-4.167 0 2.083 2.083 0 0 1 4.167 0Z" clip-rule="evenodd"/>
</symbol>
<symbol id="video" viewBox="0 0 20 20">
<path fill-rule="evenodd" d="M15 5H5c-.92 0-1.666.746-1.666 1.667v6.666C3.334 14.253 4.08 15 5 15h10c.92 0 1.667-.746 1.667-1.667V6.667C16.667 5.747 15.921 5 15 5ZM5 3.333a3.333 3.333 0 0 0-3.333 3.334v6.666A3.333 3.333 0 0 0 5 16.667h10a3.333 3.333 0 0 0 3.334-3.334V6.667A3.333 3.333 0 0 0 15 3.333H5Z" clip-rule="evenodd"/><path d="m8.334 13.333 5-3.333-5-3.333v6.666Z"/>
</symbol>
<symbol id="comment" viewBox="0 0 20 20">
<path fill-rule="evenodd" d="M15 5H5c-.92 0-1.666.746-1.666 1.667v6.666C3.334 14.253 4.08 15 5 15h10c.92 0 1.667-.746 1.667-1.667V6.667C16.667 5.747 15.921 5 15 5ZM5 3.333a3.333 3.333 0 0 0-3.333 3.334v6.666A3.333 3.333 0 0 0 5 16.667h10a3.333 3.333 0 0 0 3.334-3.334V6.667A3.333 3.333 0 0 0 15 3.333H5Z" clip-rule="evenodd"/><path d="M5 7.5c0-.46.373-.833.834-.833h8.333a.833.833 0 0 1 0 1.666H5.834A.833.833 0 0 1 5 7.5ZM5 10c0-.46.373-.833.834-.833h8.333a.833.833 0 0 1 0 1.666H5.834A.833.833 0 0 1 5 10ZM5 12.5c0-.46.373-.833.834-.833H10a.833.833 0 1 1 0 1.666H5.834A.833.833 0 0 1 5 12.5Z"/>
</symbol>
<symbol id="verify" viewBox="0 0 24 25">
<path fill="#27AE60" fill-rule="evenodd" d="m20.56 9.716 2.44 2.78-2.44 2.78.34 3.68-3.61.82-1.89 3.18-3.4-1.46-3.4 1.47-1.89-3.18-3.61-.82.34-3.69L1 12.496l2.44-2.79-.34-3.68 3.61-.81 1.89-3.18 3.4 1.46 3.4-1.46 1.89 3.18 3.61.82-.34 3.68ZM7.42 11.91l3.17 3.17 6.59-6.58 1.41 1.41-8 8L6 13.32l1.42-1.41Z" clip-rule="evenodd"/>
</symbol>
<symbol id="metro" viewBox="0 0 18 19">
<path d="M1.2 14H0v1.7h6.4V14H4.5l1.2-4.4L9 15.9l3.3-6.3 1.2 4.4h-1.9v1.7H18V14h-1.3L12.5 2.4 9 10 5.4 2.4 1.2 14Z" />
</symbol>
<symbol id="mcd-1" viewBox="0 0 22 18">
<path d="m21.96 3.14-3.12 11.68c-.2.72-.45.93-1.06.93H.59c-.52 0-.69-.29-.54-.9l3.1-11.7c.19-.7.42-.9 1.05-.9h17.2c.52 0 .69.29.56.9Z" fill="#F6A500"/><path d="M13.1 12.64h3.87l.41-1.18h-1.6v-6.1h-2.59V6.5h1.32v4.96h-1.4v1.17Zm-1.24-3.63c0-2.17-1.43-3.66-3.64-3.66H4.99l-.37 1.23H5.8v6.07h2.42c2.2-.01 3.63-1.5 3.63-3.64Zm-1.4 0c0 1.6-.97 2.42-2.27 2.42H7.12V6.56H8.2c1.3 0 2.28.8 2.28 2.45Z" fill="#fff"/>
</symbol>
<symbol id="mcd-2" viewBox="0 0 22 18">
<path d="m21.96 3.14-3.12 11.68c-.2.72-.45.93-1.06.93H.59c-.52 0-.69-.29-.54-.9l3.1-11.7c.19-.7.42-.9 1.05-.9h17.2c.52 0 .69.29.56.9Z" fill="#E94282"/><path d="m12.6 6.33.86.86a2.67 2.67 0 0 1 1.74-.76c.7 0 1.24.39 1.24 1.05 0 .57-.3.97-1.67 2.33l-1.88 1.85v.99h4.79l.41-1.16h-3.37v-.02l1.33-1.27c1.23-1.17 1.72-1.85 1.72-2.84 0-1.12-.88-2.12-2.5-2.12-1.03-.01-2.02.47-2.66 1.1ZM11.44 9c0-2.17-1.48-3.66-3.79-3.66H4.3l-.4 1.24h1.23v6.07h2.51c2.31-.01 3.79-1.5 3.79-3.65ZM9.97 9c0 1.61-1.01 2.45-2.36 2.45H6.5v-4.9h1.1c1.36 0 2.37.83 2.37 2.45Z" fill="#fff"/>
</symbol>
<symbol id="mcd-3" viewBox="0 0 22 18">
<path d="M3.75 5.21A.3.3 0 0 1 4.04 5h14.65c.2 0 .34.2.28.38l-2.72 8.41a.3.3 0 0 1-.29.21H1.31a.3.3 0 0 1-.28-.38L3.75 5.2Z" fill="#E95B0C"/><path d="m21.96 3.14-3.12 11.68c-.2.72-.45.93-1.06.93H.59c-.52 0-.69-.29-.54-.9l3.1-11.7c.19-.7.42-.9 1.05-.9h17.2c.52 0 .69.29.56.9Z" fill="#E95B0C"/><path d="M17.1 8.79a2.34 2.34 0 0 0-1.25-.68l1.73-1.72V5.36H12.8V6.6h3.06l-1.8 1.78v.88l.19-.03.26-.03h.27c.46 0 .83.1 1.14.31.3.2.44.47.44.86 0 .36-.13.64-.4.85a1.5 1.5 0 0 1-.98.33 2.26 2.26 0 0 1-1.65-.67l-.11-.1-.9.9.11.1a3.47 3.47 0 0 0 2.57 1c.76 0 1.42-.24 1.94-.7.53-.47.8-1.05.8-1.72a2.18 2.18 0 0 0-.64-1.57ZM10.41 6.39a3.64 3.64 0 0 0-2.74-1.04h-3.1l-.3 1.21h.97v6.08h2.43c1.15 0 2.07-.34 2.74-1.02.67-.7 1-1.56 1-2.61a3.55 3.55 0 0 0-1-2.62ZM10.01 9c0 .84-.23 1.43-.68 1.83-.44.4-1.02.6-1.72.6h-1V6.58h1c.71 0 1.28.2 1.72.62.45.4.68 1 .68 1.82Z" fill="#fff"/>
</symbol>
<symbol id="mcd-4" viewBox="0 0 22 18">
<path d="M3.75 5.21A.3.3 0 0 1 4.04 5h14.65c.2 0 .34.2.28.38l-2.72 8.41a.3.3 0 0 1-.29.21H1.31a.3.3 0 0 1-.28-.38L3.75 5.2Z" fill="#41B384"/><path d="m21.96 3.14-3.12 11.68c-.2.72-.45.93-1.06.93H.59c-.52 0-.69-.29-.54-.9l3.1-11.7c.19-.7.42-.9 1.05-.9h17.2c.52 0 .69.29.56.9Z" fill="#41B384"/><path d="M10.1 6.4a3.63 3.63 0 0 0-2.74-1.03H4.37l-.3 1.21h.86v6.07h2.42c1.15 0 2.07-.34 2.74-1.02a3.6 3.6 0 0 0 .99-2.6c0-1.06-.32-1.94-.98-2.63ZM9.69 9c0 .85-.24 1.44-.67 1.84-.46.4-1.02.6-1.72.6H6.29V6.6h1c.7 0 1.28.2 1.72.61.44.4.68 1 .68 1.8ZM16.7 9.9V7.8h-1.32v2.1H13.5l1.96-4.53h-1.4l-2.04 4.78v.93h3.36v1.57h1.32v-1.57h.8l.44-1.17H16.7Z" fill="#fff"/>
</symbol>
<symbol id="mck" viewBox="0 0 24 24">
<path fill-rule="evenodd" clip-rule="evenodd" d="M12 16a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm0 2a6 6 0 1 0 0-12 6 6 0 0 0 0 12Z" fill="#DC0505"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm0 2a10 10 0 1 0 0-20 10 10 0 0 0 0 20Z" fill="#DC0505"/>
</symbol>
</svg>
{% block javascripts %}
{{ encore_entry_script_tags('scripts/v2023/index', null, 'basicConfig') }}
{# <script>
{% for asset_file in encore_entry_js_files('scripts/v2023/index') %}
{{ source(asset_file) }}
{% endfor %}
</script> #}
{% endblock %}
<script>
(function(){
document.addEventListener("DOMContentLoaded", () => {
fetch("{{ path('component.header') }}?city={{app.request.attributes.get('city', default_city()).uriIdentity}}", {
method: 'GET',
responseType: 'text',
headers: {
"Content-Type": "text/html; charset=utf-8",
'X-Requested-With': 'XMLHttpRequest'
},
}).then(response => {
return response.text();
}).then(data => {
const temp = document.createElement('div');
temp.innerHTML = data;
const userData = temp.querySelector('#user-data');
document.dispatchEvent(new Event('header:loaded'))
const loginBtnList = document.querySelectorAll('[data-login]');
const regBtnList = document.querySelectorAll('[data-registration]');
const user = JSON.parse(userData.innerHTML);
if (user.role) {
const footerLink = document.getElementById('add-profile');
if (footerLink) footerLink.href = user.role === "advertiser" ? "{{ path('account.profile_editing.create') }}" : (user.role === "user" ? "{{ path('app_security_register') }}" : '');
regBtnList.forEach(el => {
if (el.dataset.parent) {
el.parentElement.remove();
} else {
el.remove();
}
});
loginBtnList.forEach(el => {
el.href = "{{ path('account') }}";
el.innerHTML = `<svg class="btn-icon" width="24" height="24" viewbox="0 0 24 24" fill="none"><path fill-rule="evenodd" d="M15.46 11.61A4.99 4.99 0 0 0 12 3a5 5 0 0 0-3.46 8.61A10.02 10.02 0 0 0 2 21h20a10.02 10.02 0 0 0-6.54-9.39ZM15 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm-3 5a8 8 0 0 0-7.75 6h15.5A8 8 0 0 0 12 13Z" clip-rule="evenodd"/></svg>
<span class="btn-text">Личный кабинет</span>`;
el.classList.remove('btn-white');
el.classList.remove('d-none');
el.classList.add('btn-white-black');
el.classList.add('header__login-account');
});
} else {
regBtnList.forEach(el => {
el.classList.remove('d-none');
});
loginBtnList.forEach(el => {
el.classList.remove('d-none');
});
}
try {
document.dispatchEvent(new CustomEvent('header:update', { detail: { data: user } }));
} catch (e) {
console.warn('Error parsing user data:', e);
}
//document.dispatchEvent(new Event(`header:update:${data.includes('Для Вас') ?}`))
})
})
// function showHamburger() {
// hamburger.setAttribute('aria-expanded', 'true');
// overlay.classList.add('active');
// }
// function hideLightbox() {
// hamburger.setAttribute('aria-expanded', 'false');
// overlay.classList.remove('active');
// }
function toggleLightbox(state) {
hamburgerBtn.setAttribute('aria-expanded', (state ? "true" : "false"));
overlay.classList.toggle('active', state);
}
const overlay = document.querySelector('.overlay');
let hamburgerBtn = document.getElementById('hamburger-btn');
document.addEventListener('click', function(e) {
if (e.target === hamburgerBtn && hamburgerBtn.contains(e.target)) {
hamburgerBtn.getAttribute('aria-expanded') === 'true' ? toggleLightbox(false) : toggleLightbox(true)
}
else if (hamburgerBtn && hamburgerBtn.parentElement.contains(e.target)) {}
else {
toggleLightbox(false);
}
});
})();
</script>
{% include '__design/v2023/components/profile_ctr.js.twig' %}
{% if ga_tracker_id %}
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id={{ ga_tracker_id }}"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
{# https://developers.google.com/analytics/devguides/collection/gtagjs/custom-dims-mets #}
gtag('config', '{{ ga_tracker_id }}', {
'custom_map': {
'userip': 'ip',
'useragent': 'user_agent'
}
});
gtag('event', 'user_data', {'ip': '{{ app.request.clientIp }}', 'user_agent': window.navigator.userAgent});
</script>
{% endif %}
{% if ym_tracker_id %}
<!-- Yandex.Metrika counter -->
<script type="text/javascript" >
(function (d, w, c) {
(w[c] = w[c] || []).push(function() {
try {
w.yaCounter{{ ym_tracker_id }} = new Ya.Metrika({
id:{{ ym_tracker_id }},
clickmap:true,
trackLinks:true,
accurateTrackBounce:true
});
} catch(e) { }
});
var n = d.getElementsByTagName("script")[0],
s = d.createElement("script"),
f = function () { n.parentNode.insertBefore(s, n); };
s.type = "text/javascript";
s.async = true;
s.src = "https://mc.yandex.ru/metrika/watch.js";
if (w.opera == "[object Opera]") {
d.addEventListener("DOMContentLoaded", f, false);
} else { f(); }
})(document, window, "yandex_metrika_callbacks");
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/{{ ym_tracker_id }}" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->
{% endif %}
</body>
</html>
{% endapply %}
{# {% endapply %} #}