templates/front/includes/courses/_course_reviews.html.twig line 1

  1. <!-- Review START -->
  2. <div class="row mb-4">
  3.     <h5 class="mb-4">Our Student Reviews</h5>
  4.     <!-- Rating info -->
  5.     <div class="col-md-4 mb-3 mb-md-0">
  6.         <div class="text-center">
  7.             <!-- Info -->
  8.             <h2 class="mb-0">{{ course.review / nbReviews }}</h2>
  9.             <!-- Star -->
  10.             <ul class="list-inline mb-0">
  11.                 {% for cmp in 1..(course.review / nbReviews) %}
  12.                     <li class="list-inline-item me-0"><i class="fas fa-star text-warning"></i></li>
  13.                 {% endfor %}
  14.                 {% if course.review / nbReviews  < 5 %}
  15.                     {% for cmp in (course.review / nbReviews)..4 %}
  16.                         <li class="list-inline-item me-0 small"><i class="far fa-star text-warning"></i></li>
  17.                     {% endfor %}
  18.                 {% endif %}
  19.             </ul>
  20.             <p class="mb-0">(Based on todays review)</p>
  21.         </div>
  22.     </div>
  23.     <!-- Progress-bar and star -->
  24.     <div class="col-md-8">
  25.         <div class="row align-items-center text-center">
  26.             <!-- Progress bar and Rating -->
  27.             <div class="col-6 col-sm-8">
  28.                 <!-- Progress item -->
  29.                 <div class="progress progress-sm bg-warning bg-opacity-15">
  30.                     <div class="progress-bar bg-warning" role="progressbar" style="width: {{ (fiveStarsReviews|length / nbReviews) * 100 }}%" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100">
  31.                     </div>
  32.                 </div>
  33.             </div>
  34.             <div class="col-6 col-sm-4">
  35.                 <!-- Star item -->
  36.                 <ul class="list-inline mb-0">
  37.                     {% for i in 1..5 %}
  38.                         <li class="list-inline-item me-0 small"><i class="fas fa-star text-warning"></i></li>
  39.                     {% endfor %}
  40.                 </ul>
  41.             </div>
  42.             <!-- Progress bar and Rating -->
  43.             <div class="col-6 col-sm-8">
  44.                 <!-- Progress item -->
  45.                 <div class="progress progress-sm bg-warning bg-opacity-15">
  46.                     <div class="progress-bar bg-warning" role="progressbar" style="width: {{ (fourStarsReviews|length / nbReviews) * 100 }}%" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100">
  47.                     </div>
  48.                 </div>
  49.             </div>
  50.             <div class="col-6 col-sm-4">
  51.                 <!-- Star item -->
  52.                 <ul class="list-inline mb-0">
  53.                     {% for i in 1..4 %}
  54.                         <li class="list-inline-item me-0 small"><i class="fas fa-star text-warning"></i></li>
  55.                     {% endfor %}
  56.                     <li class="list-inline-item me-0 small"><i class="far fa-star text-warning"></i></li>
  57.                 </ul>
  58.             </div>
  59.             <!-- Progress bar and Rating -->
  60.             <div class="col-6 col-sm-8">
  61.                 <!-- Progress item -->
  62.                 <div class="progress progress-sm bg-warning bg-opacity-15">
  63.                     <div class="progress-bar bg-warning" role="progressbar" style="width: {{ (treeStarsReviews|length / nbReviews) * 100 }}%" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100">
  64.                     </div>
  65.                 </div>
  66.             </div>
  67.             <div class="col-6 col-sm-4">
  68.                 <!-- Star item -->
  69.                 <ul class="list-inline mb-0">
  70.                     <li class="list-inline-item me-0 small"><i class="fas fa-star text-warning"></i></li>
  71.                     <li class="list-inline-item me-0 small"><i class="fas fa-star text-warning"></i></li>
  72.                     <li class="list-inline-item me-0 small"><i class="fas fa-star text-warning"></i></li>
  73.                     <li class="list-inline-item me-0 small"><i class="far fa-star text-warning"></i></li>
  74.                     <li class="list-inline-item me-0 small"><i class="far fa-star text-warning"></i></li>
  75.                 </ul>
  76.             </div>
  77.             <!-- Progress bar and Rating -->
  78.             <div class="col-6 col-sm-8">
  79.                 <!-- Progress item -->
  80.                 <div class="progress progress-sm bg-warning bg-opacity-15">
  81.                     <div class="progress-bar bg-warning" role="progressbar" style="width: {{ (twoStarsReviews|length / nbReviews) * 100 }}%" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100">
  82.                     </div>
  83.                 </div>
  84.             </div>
  85.             <div class="col-6 col-sm-4">
  86.                 <!-- Star item -->
  87.                 <ul class="list-inline mb-0">
  88.                     <li class="list-inline-item me-0 small"><i class="fas fa-star text-warning"></i></li>
  89.                     <li class="list-inline-item me-0 small"><i class="fas fa-star text-warning"></i></li>
  90.                     <li class="list-inline-item me-0 small"><i class="far fa-star text-warning"></i></li>
  91.                     <li class="list-inline-item me-0 small"><i class="far fa-star text-warning"></i></li>
  92.                     <li class="list-inline-item me-0 small"><i class="far fa-star text-warning"></i></li>
  93.                 </ul>
  94.             </div>
  95.             <!-- Progress bar and Rating -->
  96.             <div class="col-6 col-sm-8">
  97.                 <!-- Progress item -->
  98.                 <div class="progress progress-sm bg-warning bg-opacity-15">
  99.                     <div class="progress-bar bg-warning" role="progressbar" style="width: {{ (oneStarReviews|length / nbReviews) * 100 }}%" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100">
  100.                     </div>
  101.                 </div>
  102.             </div>
  103.             <div class="col-6 col-sm-4">
  104.                 <!-- Star item -->
  105.                 <ul class="list-inline mb-0">
  106.                     <li class="list-inline-item me-0 small"><i class="fas fa-star text-warning"></i></li>
  107.                     <li class="list-inline-item me-0 small"><i class="far fa-star text-warning"></i></li>
  108.                     <li class="list-inline-item me-0 small"><i class="far fa-star text-warning"></i></li>
  109.                     <li class="list-inline-item me-0 small"><i class="far fa-star text-warning"></i></li>
  110.                     <li class="list-inline-item me-0 small"><i class="far fa-star text-warning"></i></li>
  111.                 </ul>
  112.             </div>
  113.         </div>
  114.     </div>
  115. </div>
  116. <!-- Review END -->
  117. <!-- Student review START -->
  118. <div class="row">
  119.     {% for review in course.reviews %} 
  120.         <!-- Review item START -->
  121.         <div class="d-md-flex my-4">
  122.             <!-- Avatar -->
  123.             <div class="avatar avatar-xl me-4 flex-shrink-0">   
  124.                 <img class="avatar-img rounded-circle" src="{{ asset('uploads/images/eleves/' ~ review.eleve.utilisateur.personne.avatar) }}" alt="avatar">
  125.             </div>
  126.             <!-- Text -->
  127.             <div>
  128.                 <div class="d-sm-flex mt-1 mt-md-0 align-items-center">
  129.                     <h5 class="me-3 mb-0">{{ review.eleve.utilisateur.personne.nomComplet }}</h5>
  130.                     <!-- Review star -->
  131.                     <ul class="list-inline mb-0">
  132.                         {% for i in 1..review.rating %}
  133.                             <li class="list-inline-item me-0"><i class="fas fa-star text-warning"></i></li>
  134.                         {% endfor %}
  135.                         {% if review.rating < 5 %}
  136.                             {% for i in review.rating..4 %}
  137.                                 <li class="list-inline-item me-0"><i class="far fa-star text-warning"></i></li>
  138.                             {% endfor %}
  139.                         {% endif %}
  140.                         
  141.                     </ul>
  142.                 </div>
  143.                 <!-- Info -->
  144.                 <p class="small mb-2">{{ review.createdAt|date('d/m/Y - H:i:s') }}</p>
  145.                 <p class="mb-2">{{ review.message }}</p>
  146.             </div>
  147.         </div>
  148.         <!-- Divider -->
  149.         <hr>
  150.     {% endfor %}
  151. </div>
  152. <!-- Student review END -->
  153. {% if app.user and app.user.eleve is not same as null and course in app.user.eleve.cours %}
  154.     <!-- Leave Review START -->
  155.     <div class="mt-2">
  156.         <h5 class="mb-4">Leave a Review</h5>
  157.         {# <form class="row g-3"> #}
  158.         {{ form_start(fromReview, {'attr': {'class': 'row g-3'}}) }}
  159.             <!-- Rating -->
  160.             <div class="col-12">
  161.                 {{ form_widget(fromReview.rating) }}
  162.             </div>
  163.             <!-- Message -->
  164.             <div class="col-12">
  165.                 {{ form_widget(fromReview.message) }}
  166.             </div>
  167.             <!-- Button -->
  168.             <div class="col-12">
  169.                 <button type="submit" class="btn btn-primary mb-0">Post Review</button>
  170.             </div>
  171.         {{ form_end(fromReview) }}
  172.     </div>
  173.     <!-- Leave Review END -->
  174. {% endif %}