{#
@элементам списка с выпадающими списками при ховере присвоить атрибут data-hover-item
@блоку с отображением количества присвоить атрибут data-count="{{ количество }}"
@блок, в который вставляем присланный аяксом список, должен иметь атрибут role="insert-list"
@необходимость отправки запроса определяем по data-list-load="false" (если true, то не отправлять, так как список уже загружен)
@data-item-phrase - атрибут, в котором хранится текущая фраза, обозначающая количество элементов (item или items)
#}
<ul class="list-inline list-user-menu js-list-user-menu pull-right" data-user-menu>
{# профиль пользователя #}
{# элемент виден на мобильных устройствах #}
<li class="setting-item user-menu-item-mobile user-menu-item">
{# кнопка с иконкой профиля с выпадающим списком collapseRegTop #}
{% if user.alias is defined %}
<a class="navbar-toggle-reg collapsed m-l-n"
role="button"
data-toggle="collapse"
href="#collapseRegTop"
aria-expanded="false"
>
<i class="material-icons"></i>
</a>
{% else %}
<a href="{{ path('app_login') }}">
<i class="material-icons"></i>
</a>
{% endif %}
{# выпадающее меню пользователя (ссылка на профиль и логаут), или ссылки на регистрацию/авторизацию (при
клике на иконку профиля href="#collapseRegTop") иконка видна, когда не помещается имя пользователя #}
{% include '@Web/Common/dropdown-user-menu.html.twig' %}
</li>
{# показать попап с чатом для пользователя, который впервые зашел на сайт #}
{% set isRTWidget = useRTWidget() %}
{% set unreadCount = 0 %}
{% if not isRTWidget %}
{% set unreadCount = getUnreadCount() %}
{% endif %}
<!-- [debug] Initial unread count: {{ unreadCount }} -->
{% if true %} {# Оставляем возможность вкл/выкл для конкретный локалей #}
<li class="user-menu-item order-discus js-first-visit-discuss"
data-url="send/client/msg"
data-id-client="client_id"
data-close-url="{{ path('app_cookie_close_hello_message') }}"
data-hover-item
>
<a class="order-discus help-tooltip js-chat-button-link"
id="chat-widget-btn"
{% if not isRTWidget %}
target="_blank"
href="{{ path('app_chatb_chatbpage') }}"
{% endif %}
>
{% include '@Web/SVGIconsCode/chat.html.twig' with { 'unreadAll': unreadCount } %}
</a>
<div class="order-discus-block popup-block"
data-no-new-messages-tooltip-text="{{ 'contacts.live_chat' | trans }}"
data-new-messages-tooltip-text="{{ 'chat_unread_messages' | trans }}"
>
{% if not isRTWidget and unreadCount > 0 %}
{{ 'chat_unread_messages' | trans }}{% if unreadCount > 99 %}: {{ unreadCount }}{% endif %}
{% else %}
{{ 'contacts.live_chat' | trans }}
{% endif %}
</div>
</li>
{% endif %}
{# просмотренные пользователем страницы #}
<li class="watch-menu user-menu-item hidden-xs" data-hover-item>
<meta name="urlSetHistory" content="{{ path('app_visit_save') }}" property="" />
<a class="watch help-tooltip{% if visitedAll > 0 %} active{% endif %}"
href="{{ path('visit') }}">
<i class="watch-added-to-project">
{% include '@Web/SVGIconsCode/history_active.html.twig' %}
</i>
<i class="watch-not-added-to-project">
{% include '@Web/SVGIconsCode/history_default.html.twig' %}
</i>
<span class="user-history-pages-count val" data-count="{{ visitedAll }}">{{ visitedAll }}</span>
</a>
<div class="watch-block popup-block popup-block-last-visits isEmptyList">
<div class='block-header'>
<h5>
<span class="title">{{ 'header_history' | trans }}</span>
<a href="{{ path('visit') }}">
(<span class="watch-count user-history-pages-count">{{ visitedAll }}</span>)
</a>
</h5>
</div>
<div class="block-watch-content"
data-action="{{ path('app_visit_last') }}"
role="insert-list"
data-list-load="false"
>
{#<div class="smallTimer"></div>#}
</div>
</div>
</li>
{# идеи пользователя #}
{# изменениe количества скрипт находит все [data-change-count], в зависимости
от [data-type-project], и изменяет количество в них #}
<li class="idea-menu user-menu-item" data-hover-item data-type-project="idea">
<a class="star idea-iorder help-tooltipnformer{% if ideas > 0 %} active{% endif %}"
{# onclick="yaCounter51021749.reachGoal('Мои идеи'); return true;"#}
href="{{ path('app_ideas') }}"
>
<i class="idea-added-to-project" id="logic_ideasInProjectIcon">
{% include '@Web/SVGIconsCode/idea-added-top.html.twig' %}
</i>
<i class="idea-not-added-to-project" id="logic_noIdeasInProjectIcon">
{% include '@Web/SVGIconsCode/idea-no-added-top.html.twig' %}
</i>
<span class="val ideas_count" id="logic_orderIdeasCount" data-change-count="{{ ideas }}">{{ ideas }}</span>
{# сообщение с иконкой и фразой, что элемент добавлен в проект #}
<div data-idea-add-block>
<div class="icon-idea">
<div class="sprite-idea-added"></div>
</div>
<div class="txt-idea js-txt" data-add="{{ 'header_Interior_added_to' | trans }}"
data-del="{{ 'header_storage_ideas_del' | trans }}"
data-move="{{ 'header_storage_ideas_move' | trans }}"
></div>
<div class="arrow-add"></div>
<div class="arrow-add-bg"></div>
</div>
</a>
<div class="{% if not app.user %}hidden{% endif %}">
{% if not app.user %}
{% include '@Web/Common/_no-login-alert.html.twig'
with {
'class': 'no-login-block js-no-login-idea',
'withAttentionHeader': false,
'projectType': 'idea'
}
%}
{% endif %}
</div>
<div class="idea-block hidden-xs popup-block isEmptyList">
<div class='block-header'>
<h5>
<span class="title">{{ 'idea_header_list' | trans }}</span>
<span>( </span>
<a class="count-ideas" href="#" data-change-count={{ ideas }} data-count="{{ ideas }}"> {{ ideas }} </a>
<span> {{ ideas | caseString(['collection_interior', 'collection_interiors','collection_interiors']) | trans }} </span>
<span> )</span>
</h5>
{# кнопка для добавления проекта идей #}
{% include '@Web/Common/_addBtn.html.twig'
with {
'actionPath': path('app_idea_create', { name: '' }),
'inputPlaceholder': 'idea_new_project' | trans,
}
%}
</div>
<div class="block-idea-content block-content"
data-action="{{ path('app_ideas_last') }}"
role="insert-list"
data-list-load="false"
>
{#<div class="smallTimer"></div>#}
</div>
</div>
</li>
{# заказы пользователя #}
{# изменение количества скрипт находит все [data-change-count], в зависимости
от [data-type-project], и изменяет количество в них #}
<li class="order-menu js-order-menu user-menu-item js-hovered-item" data-hover-item data-type-project="order">
{# специальный url для получения свойств артикула #}
<meta name="urlArticleInfo" content="{{ path('app_article_settings', {'id': 0}) }}" property="" />
{# >>> на случай приостановления приема заказов использовать закомментированный пример (напр. были остановки в UK https://te.remote.team/#/discus/06F82981-2F73-621D-A326-95E85F091B1A/ #}
{# {% if userCountry() == 'gb' %}
<a class="order help-tooltip" href="#" data-uk-stop>
<i class="order-not-added-to-project">
{% include '@Web/SVGIconsCode/cart_stop.html.twig' %}
</i>
</a>
<div class="order-block popup-block temporary-stop" style="max-width: 200px; padding: 15px;">
{{ 'msg.uk' | trans }}.
<a href="{{ path('app_home') }}/blog/order-placement-with-delivery-to-the-uk-suspended" target="_blank">{{ 'article_item_more_info' | trans }}<a>
</div>
{% else %} #}
{% if userCountry() == 'ru' %}
{# https://te.remote.team/#/discus/7ED1B0D8-F44C-B99A-F47F-4E892406CC10/ #}
<a class="order help-tooltip" href="#" data-ru-stop>
<i class="order-not-added-to-project">
{% include '@Web/SVGIconsCode/cart_stop.html.twig' %}
</i>
</a>
<div class="order-block popup-block temporary-stop" style="max-width: 200px; padding: 15px;">
Поставки в Россию временно не осуществляются.
</div>
{% else %}
<a class="order{% if orderArticlesAll > 0 %} active{% endif %} help-tooltip"
{#onclick="yaCounter51021749.reachGoal('Корзина'); return true;"#}
href="{{ path('app_orders') }}"
>
<i class="order-added-to-project" id="logic_ordersInProjectIcon">
{% include '@Web/SVGIconsCode/cart_active.html.twig' %}
</i>
<i class="order-not-added-to-project" id="logic_noOrdersInProjectIcon">
{% include '@Web/SVGIconsCode/cart_default.html.twig' %}
</i>
<span
class="val"
id="logic_orderArticlesCount"
data-change-count={{ orderArticlesAll }}
>
{{ orderArticlesAll }}
</span>
{# сообщение с иконкой и фразой, что элемент добавлен в проект #}
<div data-order-add-block>
<div class="icon-order">
<div class="sprite-order-added"></div>
</div>
<div class="txt-order js-txt"
data-add="{{ 'header_order_add' | trans }}"
data-del="{{ 'header_order_del' | trans }}"
></div>
<div class="arrow-add"></div>
<div class="arrow-add-bg"></div>
</div>
</a>
{% set lang = userLocale() %}
<div class="order-block hidden-xs popup-block isEmptyList">
<div class='block-header'>
<h5>
<span class='title'>{{ 'header_orders' | trans }}</span>
<span>( </span>
<a class="articles-count"
href="{{ path('app_orders') }}"
data-change-count={{ orderArticlesAll }}> {{ orderArticlesAll }} </a>
<span id="aNameTrns"
data-item-phrase="{{ orderArticlesAll | declension(['order.article.count', 'order.article.counts','order.article.counts_d'], lang) | trans }}"
data-trans-count="{{ 'order.article.count' | trans }}"
data-trans-counts="{{ 'order.article.counts' | trans }}"
data-trans-counts-d="{{ 'order.article.counts_d' | trans }}"
>
{{ orderArticlesAll | declension(['order.article.count', 'order.article.counts','order.article.counts_d'], lang) | trans }}</span>
<span> )</span>
<span class="count-orders hidden" data-count="{{ ordersCount }}">{{ ordersCount }}</span>
</h5>
{# кнопка для добавления заказа #}
{% include '@Web/Common/_addBtn.html.twig'
with {
'actionPath': path('app_buy_order_create'),
'inputPlaceholder': 'buyOrder.name3' | trans,
}
%}
</div>
<div class="block-order-content block-content"
data-action="{{ path('app_last_buy_orders') }}"
role="insert-list"
data-list-load="false"
>
{#<div class="smallTimer"></div>#}
</div>
</div>
{% endif %} {# <<< на случай приприостановления приема заказов #}
{# Попап в топ меню для корзины - предупреждение о необходимости
войти или зарегистрироваться для сохранения отобранного.
Скриптом блок будет клонираться в подсказку при добавлении артикула #}
{% if not app.user %}
<div
id="order_no_login_alert"
class="popup-block no-login-popup"
>
{% include '@Web/Common/_no-login-alert.html.twig'
with {
'class': 'no-login-block js-no-login-order',
'withAttentionHeader': true,
'projectType': 'order'
}
%}
</div>
{% endif %}
</li>
</ul>