templates/BotHelper/_profile_bot_helper.html.twig line 1

Open in your IDE?
  1. <div id="recommendationsDebug">
  2.     <div id="botHelperQueryData" style="display: none;"></div><a href="javascript:void(0);" id="showQueryBtn">Показать запрос</a>
  3.     <div id="botHelperProfileViewsData">
  4.         <h6 style="color: #1ea471">Просмотры анкет на сайте</h6>
  5.         {% set profile_debug_data = profile_bot_helper_recommendations_debug_views() %}
  6.         {% include "Recommendations/_profile_recommendations_debug_profile_data_table.html.twig" %}
  7.     </div>
  8.     {% include "Recommendations/_profile_recommendations_debug_coeffs_data_table.html.twig" %}
  9.     <h6 style="color: #bd2130">Коэффициенты</h6>
  10.     <div id="botHelperCoeffsData"></div>
  11.     {% include "Recommendations/_profile_recommendations_debug_viewed_profiles_data_table.html.twig" %}
  12.     <h6 style="color: #856404">Просмотренные рекомендации Анфисы</h6>
  13.     <div id="botHelperViewedRecommendationsData"></div>
  14. </div>
  15. <h4>Анфиса</h4>
  16. <div id="profileBotHelperWidgetExpanded" style="display: none;">
  17.     <img style="float:left; margin: 7px 7px 7px 0;" src="https://lh3.googleusercontent.com/proxy/AKC2VT9Pfh2GJRRXP6_0IgIxqkfg8Rk5g0QJbgpikAdXfSnux42Fzejo6-0zodJyG5z7W1paNl2ovPKmwHArzurrzZe1o5AbszOcVtK8F9WrZ4thxg" />
  18.     <div id="profileBotHelperRecommendationsContainer"></div>
  19.     <div id="profileRecommendationTemplate" style="display: none;">
  20.         <p><a href="" class="name-link"></a></p>
  21.         <img class="img" src="" width="100"/>
  22.     </div>
  23.     {#<a href="javascript:void(0);" id="profileRecommendationsShowMoreBtn">Показать еще</a><br>#}
  24.     <a href="javascript:void(0);" id="profileRecommendationsStartOverBtn">Попробовать еще раз</a>
  25. </div>
  26. <div id="profileBotHelperWidgetCollapsed" style="display: none;">
  27.     <div id="profileBotHelperStatusContainer">
  28.         <span style="width:400px; word-wrap:break-word; font-size:24px; position: relative; top:50px; left:10px;">Нужно посмотреть еще</span>
  29.     </div>
  30. </div>
  31. <script src="{{ asset('ajax.js', 'js_script') }}"></script>
  32. <script src="{{ asset('local-storage.js', 'js_script') }}"></script>
  33. <script src="{{ asset('bot-helper.js', 'js_script') }}"></script>
  34. <script type="text/javascript">
  35.     document.addEventListener('DOMContentLoaded', function() {
  36.         // var btnShowMore = document.querySelector('#profileRecommendationsShowMoreBtn');
  37.         // btnShowMore.addEventListener('click', function() {
  38.         //     loadBotHelperRecommendations();
  39.         // });
  40.         var btnStartOver = document.querySelector('#profileRecommendationsStartOverBtn');
  41.         btnStartOver.addEventListener('click', function() {
  42.             startOver();
  43.         });
  44.         function loadBotHelperRecommendations() {
  45.             {% set excludeRecommendationProfileIds = [] %}
  46.             const url = '{{ path('profile_helper_bot.recommendations.get', {city:app.request.get('city').uriIdentity, count: 10, imageSize: '357x500', exclude: (excludeRecommendationProfileIds is iterable ? excludeRecommendationProfileIds : [])|join(',')}) }}';
  47.             profileBotHelper.loadBotHelperRecommendations(url, onResponse);
  48.         }
  49.         function startOver() {
  50.             const url = '{{ path('profile_helper_bot.start_over', {city:app.request.get('city').uriIdentity}) }}';
  51.             profileBotHelper.startOver(url, onResponse);
  52.         }
  53.         function onResponse(response) {
  54.             // console.log(response.profiles);
  55.             let expandedWidgetContainer = document.querySelector('#profileBotHelperWidgetExpanded');
  56.             let collapsedWidgetContainer = document.querySelector('#profileBotHelperWidgetCollapsed');
  57.             if(response.profiles != undefined) {
  58.                 collapsedWidgetContainer.style.display = 'none';
  59.                 expandedWidgetContainer.style.display = 'block';
  60.                 let profilesContainer = document.querySelector('#profileBotHelperRecommendationsContainer');
  61.                 profilesContainer.innerHTML = '';
  62.                 let template = document.querySelector('#profileRecommendationTemplate');
  63.                 response.profiles.map(function (profile) {
  64.                     let node = template.cloneNode(true);
  65.                     node.style.display = 'block';
  66.                     node.querySelector('.name-link').setAttribute('href', profile.url);
  67.                     node.querySelector('.name-link').innerText = '(score: ' + ''/*response.scores[profile.id]*/ + ', id: ' + profile.id + ') ' + profile.name;
  68.                     node.querySelector('.img').setAttribute('src', profile.image)
  69.                     profilesContainer.appendChild(node);
  70.                 });
  71.                 createCoeffsTable(document.querySelector('#botHelperCoeffsData'), response.coeffs_debug);
  72.                 createViewedRecommendationsTable(document.querySelector('#botHelperViewedRecommendationsData'), response.viewed_recommendations_debug);
  73.             } else {
  74.                 collapsedWidgetContainer.style.display = 'block';
  75.                 expandedWidgetContainer.style.display = 'none';
  76.                 collapsedWidgetContainer.querySelector('span').innerHTML = `Посмотри еще ${response.needed_viewed_profiles_count - response.viewed_profiles_count} анкет, чтобы я определила кто тебе подойдет. (${response.viewed_profiles_count} / ${response.needed_viewed_profiles_count})`;
  77.                 createCoeffsTable(document.querySelector('#botHelperCoeffsData'), []);
  78.                 createViewedRecommendationsTable(document.querySelector('#botHelperViewedRecommendationsData'), []);
  79.                 document.querySelector('#botHelperProfileViewsData').innerHTML = '';
  80.             }
  81.         }
  82.         loadBotHelperRecommendations();
  83.     });
  84. </script>