{%- macro _get_min(price1, price2, currency) -%}
{%- set price1 = price1 is defined and price1 > 0 ? price1 : 999999999 -%}
{%- set price2 = price2 is defined and price2 > 0 ? price2 : 999999999 -%}
{# {%- set currency = currency == 'USD' ? '$' : (currency == 'RUB' ? 'р' : '') -%} #}
{%- set currency = 'р' -%}
{%- if price1 == 999999999 and price2 == 999999999 -%}
-
{%- elseif price1 == 999999999 -%}
{{price2|number_format(0, '.', ' ')}} {{ currency }}
{%- elseif price2 == 999999999 -%}
{{price1|number_format(0, '.', ' ')}} {{ currency }}
{%- else -%}
{{ min([price1,price2])|number_format(0, '.', ' ') }} {{ currency }}
{%- endif -%}
{%- endmacro -%}
{%- macro _check_out_price(price1, price2, price3) -%}
{%- set maxPrice = 999999999 %}
{%- set price1 = price1 is defined and price1 > 0 ? price1 : maxPrice -%}
{%- set price2 = price2 is defined and price2 > 0 ? price2 : maxPrice -%}
{%- set price3 = price3 is defined and price3 > 0 ? price3 : maxPrice -%}
{%- if price1 != maxPrice or price2 != maxPrice or price3 != maxPrice -%}
1
{%- else -%}
0
{%- endif -%}
{%- endmacro -%}
{%- macro _gen_alt(profile) -%}
{# {{ 'портале|сайте|ресурсе|веб сайте'|seo_morphing(_id) }}
'<= 1999'
'2000 - 7999'
'>= 8000' #}
{%- set morpID = profile.id -%}
{%- set maxPrice = 999999999 -%}
{%- set priceType = -1 -%}
{%- set isApart = false -%}
{%- set isOut = false -%}
{%- set price1 = profile.apartmentsPricing.oneHourPrice -%}
{%- set price2 = profile.apartmentsPricing.twoHoursPrice -%}
{%- set price3 = profile.apartmentsPricing.nightPrice -%}
{%- set priceApart1 = price1 is defined and price1 > 0 ? price1 : maxPrice -%}
{%- set priceApart2 = price2 is defined and price2 > 0 ? price2 : maxPrice -%}
{%- set priceApart3 = price3 is defined and price3 > 0 ? price3 : maxPrice -%}
{%- set priceApartMin = maxPrice -%}
{%- set price1 = profile.takeOutPricing.oneHourPrice -%}
{%- set price2 = profile.takeOutPricing.twoHoursPrice -%}
{%- set price3 = profile.takeOutPricing.nightPrice -%}
{%- set priceOut1 = price1 is defined and price1 > 0 ? price1 : maxPrice -%}
{%- set priceOut2 = price2 is defined and price2 > 0 ? price2 : maxPrice -%}
{%- set priceOut3 = price3 is defined and price3 > 0 ? price3 : maxPrice -%}
{% set priceOutMin = maxPrice -%}
{% if priceApart1 != maxPrice or priceApart2 != maxPrice or priceApart3 != maxPrice -%}
{% set priceApartMin = min([priceApart1, priceApart2, priceApart3]) -%}
{% if priceApartMin < 2000 -%}
{% set priceType = 0 -%}
{% elseif priceApartMin < 8000 -%}
{% set priceType = 1 -%}
{% else -%}
{% set priceType = 2 -%}
{% endif -%}
{% set isApart = true -%}
{% elseif priceOut1 != maxPrice or priceOut2 != maxPrice or priceOut3 != maxPrice -%}
{% set priceOutMin = min([priceOut1, priceOut2, priceOut3]) -%}
{% if priceOutMin < 2000 -%}
{% set priceType = 0 -%}
{% elseif priceOutMin < 8000 -%}
{% set priceType = 1 -%}
{% else -%}
{% set priceType = 2 -%}
{% endif -%}
{% set isOut = true -%}
{% endif -%}
{% if priceType == -1 -%}
{% set priceType = 1 -%}
{% endif -%}
{% set firstStation = '' -%}
{% if profile.stations|length > 0 -%}
{% set firstStation = profile.stations|first -%}
{% endif -%}
{%- set agePlural = '%age% лет'|trans({'lastnum': profile.personParameters.age|last}) -%}
{%- set static_orderMe = "снять|вызвать|заказать"|seo_morphing(morpID) -%}
{%- set staticData = " " ~ profile.name ~ ", " ~ profile.personParameters.age ~ " " ~ agePlural ~ (firstStation ? ', ' ~ firstStation.name|trans : '' ) ~ ", " ~ static_orderMe ~ (profile.seo.phone is defined ? " по тел. " ~ profile.seo.phone : '') ~ ", " ~ profile.id -%}
{%- if priceType == 0 -%}
{{- "Анкета " ~ "дешевой индивидуалки|дешевой эскортницы|дешевой проститутки|дешевой шлюхи|дешевой девушки по вызову|дешевой шалавы|дешевой путаны|недорогой индивидуалки|недорогой проститутки|недорогой шлюхи|недорогой девушки по вызову|недорогой шалавы|недорогой путаны|бюджетной индивидуалки|бюджетной проститутки|бюджетной шлюхи|бюджетной девушки по вызову|бюджетной шалавы|бюджетной путаны"|seo_morphing(morpID) ~ staticData -}}
{%- elseif priceType == 1 -%}
{{- "Индивидуалка|Проститутка|Шлюха|Эскортница|Девушка по вызову|Шалава|Путана"|seo_morphing(morpID) ~ staticData -}}
{%- elseif priceType == 2 -%}
{{- "Анкета " ~ "элитной индивидуалки|элитной проститутки|элитной эскортницы|элитной шлюхи|элитной девушки по вызову|элитной шалавы|элитной путаны|дорогой индивидуалки|дорогой проститутки|дорогой шлюхи|дорогой девушки по вызову|дорогой шалавы|дорогой путаны|VIP индивидуалки|VIP проститутки|VIP шлюхи|VIP девушки по вызову|VIP шалавы|VIP путаны|ВИП индивидуалки|ВИП проститутки|ВИП шлюхи|ВИП девушки по вызову|ВИП шалавы|ВИП путаны"|seo_morphing(morpID) ~ staticData -}}
{%- endif -%}
{%- endmacro -%}
{%- set isProfileInDefaultCity = profile.city.uriIdentity == default_city().uriIdentity -%}
{%- set isProfileWithSubway = profile.stations|length > 0 -%}
{%- set lazyLoad = lazyLoad is defined ? lazyLoad : false -%}
{%- set isSelfies = profile.selfies is iterable ? (profile.selfies|length > 0) : profile.selfies -%}
{%- set isVideos = profile.videos is iterable ? (profile.videos|length > 0) : profile.videos -%}
{%- set isComments = profile.comments is iterable ? (profile.comments|length > 0) : profile.comments -%}
{%- set showAvatarAlt = false -%}
{% set showOutProfileInfo = showOutProfileInfo is defined ? showOutProfileInfo : false %}
{% set showAgeProfileAfterName = showAgeProfileAfterName is defined ? showAgeProfileAfterName : true %}
{% set showPhoneNumberOnBottom = showPhoneNumberOnBottom is defined ? showPhoneNumberOnBottom : false %}
{% set showCity = showCity is defined ? showCity : true %}
{# {{dump(profile.takeOutPricing)}}
{{dump(isHasOutPricing)}} #}
<li class="card profile-card white-round{{ isProfileTop ? ' card--top' : '' }}" data-profile-id="{{ profile.id }}"{% if likeButton %} data-favorite-button{% endif %}{% if hidePreferredButton %} data-preferred-button{% endif %}>
<a class="card-link" href="{{ path('profile_preview.page', {'city': profile.city.uriIdentity, 'profile': profile.uriIdentity}) }}" target="_blank">
<span class="visually-hidden">{{ profile.name|trans }}</span>
</a>
{% if hidePreferredButton %}
<preferred-remove-button
api-hide="{{ path('account.preferred_profiles.hide', {'profile': profile.id}) }}"
>
<button class="btn btn-profile btn-profile--hide d-flex-c" title="Больше не показывать">
<svg class="preferred-icon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path d="M20.402 5.292 18.71 3.6l-6.708 6.708L5.294 3.6 3.602 5.292 10.31 12l-6.708 6.708L5.294 20.4l6.708-6.708L18.71 20.4l1.692-1.692L13.694 12l6.708-6.708Z"/></svg>
<span class="fw-600">Больше не показывать</span>
</button>
</preferred-remove-button>
{% endif %}
{% if likeButton %}
<favorite-button
api-check="{{ path('account.favourites.check', {'profile': profile.id}) }}"
api-like="{{ path('account.favourites.add', {profile: profile.id}) }}"
api-unlike="{{ path('account.favourites.remove', {profile: profile.id}) }}"
registration-url="{{ path('app_security_register') }}?user=visitor"
>
<button class="btn btn-profile btn-profile--like is-loading d-flex-c" data-tippy-main="Добавить в избранное" title="Добавить в избранное">
<svg class="like-fill" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path fill="#FF3F40" fill-rule="evenodd" d="M12 4.915c1.09-1.28 2.76-2.09 4.5-2.09 3.08 0 5.5 2.42 5.5 5.5 0 3.777-3.394 6.855-8.537 11.519l-.013.011-1.45 1.32-1.45-1.31-.04-.036C5.384 15.17 2 12.095 2 8.325c0-3.08 2.42-5.5 5.5-5.5 1.74 0 3.41.81 4.5 2.09Z" clip-rule="evenodd"/></svg>
<svg class="like-border" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path fill-rule="evenodd" d="M12 4.915c1.09-1.28 2.76-2.09 4.5-2.09 3.08 0 5.5 2.42 5.5 5.5 0 3.777-3.394 6.855-8.537 11.519l-.013.011-1.45 1.32-1.45-1.31-.04-.036C5.384 15.17 2 12.095 2 8.325c0-3.08 2.42-5.5 5.5-5.5 1.74 0 3.41.81 4.5 2.09Zm0 13.56.1-.1c4.76-4.31 7.9-7.16 7.9-10.05 0-2-1.5-3.5-3.5-3.5-1.54 0-3.04.99-3.56 2.36h-1.87c-.53-1.37-2.03-2.36-3.57-2.36-2 0-3.5 1.5-3.5 3.5 0 2.89 3.14 5.74 7.9 10.05l.1.1Z" clip-rule="evenodd"/></svg>
</button>
</favorite-button>
{% endif %}
<div class="card-layout d-grid">
<div class="card__avatar profile-card__avatar">
<div class="profile-card__avatar-link">
{%- set photo = profile|avatar -%}
{%- if photo and photo.path -%}
<img class="card__avatar-image profile-card__avatar-image" src="{{ responsive_asset(photo.path, 'profile_media', "220x308", "jpg") }}" alt="{{- showAvatarAlt ? _self._gen_alt(profile) : '' -}}"{% if not lazyLoad %} loading="lazy"{% endif %} width="220" height="308">
{%- else -%}
<img class="card__avatar-image profile-card__avatar-image" src="{{ asset('assets/images/empty-photo.svg') }}" style="object-fit:contain;padding:10px;" width="220" height="308">
{%- endif -%}
</div>
<div class="profile-card__icons d-flex-c">
<div data-tippy-icon="{{ isSelfies ? 'Есть' : 'Нет' }} селфи">
<svg class="profile-card__icon{{ isSelfies ? '' : ' off' }}" width="20" height="20">
<use href="#selfie"></use>
</svg>
</div>
<div data-tippy-icon="{{ isVideos ? 'Есть' : 'Нет' }} видео">
<svg class="profile-card__icon{{ isVideos ? '' : ' off' }}" width="20" height="20">
<use href="#video"></use>
</svg>
</div>
<div data-tippy-icon="{{ isComments ? 'Есть' : 'Нет' }} отзывы">
<svg class="profile-card__icon{{ isComments ? '' : ' off' }}" width="20" height="20">
<use href="#comment"></use>
</svg>
</div>
</div>
</div>
<div class="profile-card__info">
<div class="profile-card__personal clr-text-base">
{# <div class="profile-card__personal-item d-flex">
<span class="profile-card__personal-title">Возраст</span>
<span class="profile-card__personal-value fw-600 ml-auto">{{ profile.personParameters.age ? profile.personParameters.age : '-' }}</span>
</div> #}
<div class="profile-card__personal-item d-flex">
<span class="profile-card__personal-title">Грудь</span>
<span class="profile-card__personal-value fw-600 ml-auto">{{ profile.personParameters.breastSize ? profile.personParameters.breastSize : '-' }}</span>
</div>
<div class="profile-card__personal-item d-flex">
<span class="profile-card__personal-title">Рост</span>
<span class="profile-card__personal-value fw-600 ml-auto">{{ profile.personParameters.height ? profile.personParameters.height : '-' }}</span>
</div>
<div class="profile-card__personal-item d-flex">
<span class="profile-card__personal-title">Вес</span>
<span class="profile-card__personal-value fw-600 ml-auto">{{ profile.personParameters.weight ? profile.personParameters.weight : '-' }}</span>
</div>
{% if showOutProfileInfo %}
<div class="profile-card__personal-item d-flex">
<span class="profile-card__personal-title">Выезд</span>
<span class="profile-card__personal-value fw-600 ml-auto">Есть</span>
</div>
{% endif %}
</div>
{%- set currencyProfile -%}{{ profile.city.countryCode|country_currency }}{%- endset -%}
{%- set minPriceHour -%}{{ _self._get_min(profile.apartmentsPricing.oneHourPrice,profile.takeOutPricing.oneHourPrice,currencyProfile) }}{%- endset -%}
{%- set minPriceTwo -%}{{ _self._get_min(profile.apartmentsPricing.twoHoursPrice,profile.takeOutPricing.twoHoursPrice,currencyProfile) }}{%- endset -%}
{%- set minPriceNight -%}{{ _self._get_min(profile.apartmentsPricing.nightPrice,profile.takeOutPricing.nightPrice,currencyProfile) }}{%- endset -%}
<div class="card-time profile-card-time">
<div class="card-time-item d-flex clr-pre-white-bg">
<span class="card-time-title">Час</span>
<span class="card-time-value fw-700 ml-auto clr-main-text">{{ minPriceHour != '-' ? minPriceHour : '-' }}</span>
</div>
<div class="card-time-item d-flex clr-pre-white-bg">
<span class="card-time-title">2 часа</span>
<span class="card-time-value fw-700 ml-auto clr-main-text">{{ minPriceTwo != '-' ? minPriceTwo : '-' }}</span>
</div>
<div class="card-time-item d-flex clr-pre-white-bg">
<span class="card-time-title">Ночь</span>
<span class="card-time-value fw-700 ml-auto clr-main-text">{{ minPriceNight != '-' ? minPriceNight : '-' }}</span>
</div>
{# <div class="card-time-item d-flex">
<span class="card-time-title">Выезд</span>
<span class="card-time-value fw-700 ml-auto clr-main-text">{{ hasOutPrice == '1' ? 'Есть' : '-' }}</span>
</div> #}
</div>
{# {% include 'ProfileList/tags.html.twig' with { 'profile': profile, classes: {list: 'profile-card__tags d-flex', tag: 'profile-card__tags-item clr-main-text'} } %} #}
</div>
</div>
{%- set agePlural = '%age% лет'|trans({'lastnum': profile.personParameters.age|last}) -%}
<div class="card__bio-name profile-card__bio-name">
<div class="profile-card__bio-link fw-700" href="{{ path('profile_preview.page', {'city': profile.city.uriIdentity, 'profile': profile.uriIdentity}) }}" target="_blank" title="{{ profile.name|trans }}{{ showAgeProfileAfterName ? ' возраст ' ~ profile.personParameters.age : '' }}">
<span class="profile-card__bio-text">{{ profile.name|trans }}</span>
{%- if showAgeProfileAfterName %}
<span class="profile-card__bio-age mr-1">, {{ profile.personParameters.age }} {{ agePlural }}</span>
{% endif %}
{%- if (profile.isApproved) -%}
<svg class="profile-card__bio-icon mr-1" width="24" height="25" data-tippy-verify="Фото проверено">
<use xlink:href="#verify">
</svg>
{%- endif -%}
{%- if isProfileTop %}<svg width="20" height="21" fill="none" data-tippy-main="ТОП-девушка"><g fill="#FF3F40" clip-path="url(#profile-top-{{ profile-id }})"><path fill-rule="evenodd" d="M10 20.5c5.523 0 10-4.477 10-10S15.523.5 10 .5 0 4.977 0 10.5s4.477 10 10 10Zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z" clip-rule="evenodd"/><path d="M8.119 9.996c.532-.342.881-.496 1.29-.789v6.958c0 .185.15.335.336.335h1.789a.466.466 0 0 0 .466-.466V6.332a1 1 0 0 0-1.54-.842L6.87 7.797a1 1 0 0 0-.282 1.41l.388.56a.838.838 0 0 0 1.143.23Z"/></g><defs><clipPath id="profile-top-{{ profile-id }}"><path fill="#fff" d="M0 .5h20v20H0z"/></clipPath></defs></svg>{%- endif -%}
</div>
</div>
<div class="profile-card__bio">
{%- if profile.districts|length > 0 -%}
<div class="profile-card__metro d-flex-c">
{%- set district = profile.districts|first -%}
{# <a class="card__metro-link card__district-link metro-link d-flex-c" href="{{ path('profile_list.list_by_district', {'city': profile.city.uriIdentity, 'district': district.uriIdentity}) }}" target="_blank" title="{{ district.name|trans }}"> #}
<span class="card__metro-link card__district-link d-flex-c">
<svg class="mr-1" xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none"><path fill="#FF3F40" d="M.22 8.08c.25.24.49.32.97.32l5.25.02c.05 0 .09 0 .1.03.03.02.04.06.04.1l.02 5.26c0 .48.08.72.32.97.33.33.79.27 1.13-.06.18-.18.32-.48.45-.75l5.3-11.45c.29-.58.25-1-.03-1.3-.28-.27-.71-.3-1.3-.03L1.05 6.5c-.28.14-.58.28-.76.46-.33.34-.39.8-.06 1.13"/></svg>
<span>{{- district.name|trans -}}</span>
</span>
{# </a> #}
</div>
{%- endif -%}
<div class="profile-card__metro d-flex-c">
{# Profile in default city and with subway station #}
{%- if isProfileInDefaultCity and isProfileWithSubway -%}
{# If its station listing #}
{%- if 'profile_list.list_by_station' in app.request.get('_route') -%}
{%- set station = app.request.attributes.get('station') -%}
{%- else -%}
{%- set station = profile.stations|first -%}
{%- endif -%}
<a class="card__metro-link metro-link d-flex-c" href="{{ path('profile_list.list_by_station', {'city': profile.city.uriIdentity, 'station': station.uriIdentity}) }}" target="_blank" title="{{ station.name }}">
{%- include 'components/metro/icon_generate.partial.twig' with {data: station.id|station_lines} -%}
{{- station.name -}}
</a>
{%- else -%}
{# Profile in default city and without subway station #}
{%- if isProfileInDefaultCity and showCity -%}
<a class="card__metro-link metro-link d-flex-c" href="{{ path('profile_list.list_by_city', {'city': profile.city.uriIdentity}) }}" target="_blank" title="{{ profile.city.name|trans }}">
<svg class="mr-1" xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none"><path fill="#FF3F40" d="M.22 8.08c.25.24.49.32.97.32l5.25.02c.05 0 .09 0 .1.03.03.02.04.06.04.1l.02 5.26c0 .48.08.72.32.97.33.33.79.27 1.13-.06.18-.18.32-.48.45-.75l5.3-11.45c.29-.58.25-1-.03-1.3-.28-.27-.71-.3-1.3-.03L1.05 6.5c-.28.14-.58.28-.76.46-.33.34-.39.8-.06 1.13"/></svg>
<span>{{ profile.city.name|trans }}</span>
</a>
{%- else -%}
{# На городах МО вырезать город с тумбы анкеты на листингах #}
{# <div class="is-flex level">
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 0C6.06694 0 4.5 1.76281 4.5 3.9375C4.5 5.69562 6.7875 8.9 7.66389 10.0631C7.84139 10.2987 8.15889 10.2987 8.33611 10.0631C9.2125 8.9 11.5 5.69562 11.5 3.9375C11.5 1.76281 9.93306 0 8 0ZM0.558889 6.74844C0.393938 6.82266 0.252536 6.95078 0.152919 7.11626C0.0533024 7.28175 3.95058e-05 7.47701 0 7.67688L0 15.4994C0 15.8531 0.3175 16.095 0.609444 15.9637L4 13.9997V7.71625C3.75444 7.21688 3.14389 6.465 3 6L0.558889 6.74844ZM8 12.2397C7.60917 12.2397 7.23944 12.0466 6.98583 11.7097C6.43972 10.9847 5.85889 10.1591 5.33333 9.31219V13.9997L10.6667 15.9997V9.3125C10.1411 10.1591 9.56056 10.985 9.01417 11.71C8.76056 12.0466 8.39083 12.2397 8 12.2397ZM15.3906 5.03625L12 7.71625V15.9637L15.4411 14.2516C15.6061 14.1774 15.7475 14.0493 15.8471 13.8838C15.9468 13.7183 16 13.523 16 13.3231V5.50063C16 5.14688 15.6825 4.905 15.3906 5.03625Z" fill="#FF3F40"/></svg>
<span>{{ profile.city.name|trans }}</span>
</div> #}
{%- endif -%}
</div>
{%- endif -%}
</div>
{# <div class="profile-card__bio profile-card__bio-with-text">
{% set description = profile.description|trans %}
<p class="profile-card__bio-desc mb-2">{{ description|length > 100 ? description|slice(0, 100) : description }}...</p>
</div> #}
{% if showPhoneNumberOnBottom %}
<div class="profile-card__bio">
{%- if profile.isActive or not profile.isHidden -%}
{% set onlyPhoneNumber = profile.phoneNumber|replace({' ': '', '-': '', '(': '', ')': ''}) %}
<button class="card__phone profile-card__phone btn btn-main-border btn-fluid fw-600" type="button" onclick="this.classList.add('d-none');this.nextElementSibling.classList.remove('d-none')">
<svg class="btn-icon" width="21" height="20" fill="none"><path d="M6.583 2.5H3.666a.836.836 0 0 0-.833.834C2.833 11.159 9.175 17.5 17 17.5a.836.836 0 0 0 .833-.833v-2.908a.836.836 0 0 0-.833-.834 9.503 9.503 0 0 1-2.975-.475.7.7 0 0 0-.259-.041.854.854 0 0 0-.591.241l-1.834 1.834A12.625 12.625 0 0 1 5.85 8.992l1.833-1.833a.836.836 0 0 0 .208-.85 9.467 9.467 0 0 1-.475-2.975.836.836 0 0 0-.833-.834Z"/></svg>
<span class="btn-text">Показать телефон</span>
</button>
<!--noindex--><a href="tel:{{ onlyPhoneNumber }}" rel="nofollow" class="card__phone profile-card__phone btn btn-main-border btn-fluid fw-600 is-active d-none">
<svg class="btn-icon" width="21" height="20" fill="none"><path d="M6.583 2.5H3.666a.836.836 0 0 0-.833.834C2.833 11.159 9.175 17.5 17 17.5a.836.836 0 0 0 .833-.833v-2.908a.836.836 0 0 0-.833-.834 9.503 9.503 0 0 1-2.975-.475.7.7 0 0 0-.259-.041.854.854 0 0 0-.591.241l-1.834 1.834A12.625 12.625 0 0 1 5.85 8.992l1.833-1.833a.836.836 0 0 0 .208-.85 9.467 9.467 0 0 1-.475-2.975.836.836 0 0 0-.833-.834Z"/></svg>
<span class="btn-text">{{- profile.phoneNumber -}}</span>
</a><!--/noindex-->
{%- endif -%}
</div>
{% endif %}
</li>