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