user-dashboard.html 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. {% extends 'user-base.html' %}
  2. {% block content %}
  3. <!--cart-->
  4. <div class="row">
  5. <div class="col-sm-6 col-md-4">
  6. <div class="card text-white bg-secondary mb-3">
  7. <div class="card-header"><h5 class="card-title">Google <span><i class="fa fa-google" aria-hidden="true"></i></span></h5></div>
  8. <div class="card-body">
  9. <table class="table">
  10. <tr>
  11. <td><i class="fa fa-pencil-square-o" aria-hidden="true"></i> Total Review</td>
  12. <td>{{ google_total }}</td>
  13. </tr>
  14. <tr>
  15. <td><i class="fa fa-line-chart" aria-hidden="true"></i> Growth</td>
  16. <td>{{ google_total_growth }} %</td>
  17. </tr>
  18. </table>
  19. </div>
  20. </div>
  21. </div>
  22. <div class="col-sm-6 col-md-4">
  23. <div class="card text-white bg-danger mb-3">
  24. <div class="card-header"><h5 class="card-title">Yelp <span><i class="fa fa-yelp" aria-hidden="true"></i></span></h5></div>
  25. <div class="card-body">
  26. <table class="table">
  27. <tr>
  28. <td><i class="fa fa-pencil-square-o" aria-hidden="true"></i> Total Review</td>
  29. <td>{{ yelp_total }}</td>
  30. </tr>
  31. <tr>
  32. <td><i class="fa fa-line-chart" aria-hidden="true"></i> Growth</td>
  33. <td>{{ yelp_total_growth }}%</td>
  34. </tr>
  35. </table>
  36. </div>
  37. </div>
  38. </div>
  39. <div class="col-sm-6 col-md-4">
  40. <div class="card text-white bg-primary mb-3">
  41. <div class="card-header"><h5 class="card-title">Facebook <span><i class="fa fa-facebook" aria-hidden="true"></i></span></h5></div>
  42. <div class="card-body">
  43. <table class="table">
  44. <tr>
  45. <td><i class="fa fa-pencil-square-o" aria-hidden="true"></i> Total Review</td>
  46. <td>{{ facebook_total }}</td>
  47. </tr>
  48. <tr>
  49. <td><i class="fa fa-line-chart" aria-hidden="true"></i> Growth</td>
  50. <td>{{ facebook_total_growth }} %</td>
  51. </tr>
  52. </table>
  53. </div>
  54. </div>
  55. </div>
  56. </div>
  57. <!-- canvas-->
  58. <canvas class="my-4" id="myChart" width="900" height="300"></canvas>
  59. <h2>Section title</h2>
  60. <div class="table-responsive">
  61. <table class="table">
  62. <thead>
  63. <tr class="table-info">
  64. <th>Platform</th>
  65. <th>Total <br>Positive Review</th>
  66. <th>Positive <br> review Growth</th>
  67. <th>Total <br>Negative Review</th>
  68. <th>Negative <br> review Growth</th>
  69. </tr>
  70. </thead>
  71. <tbody>
  72. <tr>
  73. <td>Google</td>
  74. <td>{{ google_pos }}</td>
  75. {% if google_pos_gr > 0 %}
  76. <td class="table-success"><i class="fa fa-arrow-circle-o-up mr-2" aria-hidden="true"></i>{{ google_pos_gr }} %</td>
  77. {% else %}
  78. <td class="table-danger"><i class="fa fa-arrow-circle-o-down mr-2" aria-hidden="true"></i>{{ google_pos_gr }} %</td>
  79. {% endif %}
  80. <td>{{ google_neg }}</td>
  81. {% if google_neg_gr < 0 %}
  82. <td class="table-success"><i class="fa fa-arrow-circle-o-down mr-2" aria-hidden="true"></i>{{ google_neg_gr }} %</td>
  83. {% else %}
  84. <td class="table-danger"><i class="fa fa-arrow-circle-o-up mr-2" aria-hidden="true"></i>{{ google_neg_gr }} %</td>
  85. {% endif %}
  86. </tr>
  87. <tr>
  88. <td>Yelp</td>
  89. <td>{{ yelp_pos }}</td>
  90. {% if yelp_pos_gr > 0 %}
  91. <td class="table-success"><i class="fa fa-arrow-circle-o-up mr-2" aria-hidden="true"></i>{{ yelp_pos_gr }} %</td>
  92. {% else %}
  93. <td class="table-danger"><i class="fa fa-arrow-circle-o-down mr-2" aria-hidden="true"></i>{{ yelp_pos_gr }} %</td>
  94. {% endif %}
  95. <td>{{ yelp_neg }}</td>
  96. {% if yelp_neg_gr < 0 %}
  97. <td class="table-success"><i class="fa fa-arrow-circle-o-down mr-2" aria-hidden="true"></i>{{ yelp_neg_gr }} %</td>
  98. {% else %}
  99. <td class="table-danger"><i class="fa fa-arrow-circle-o-up mr-2" aria-hidden="true"></i>{{ yelp_neg_gr }} %</td>
  100. {% endif %}
  101. </tr>
  102. <tr style="border-bottom: 1px solid #dee2e6">
  103. <td>Facebook</td>
  104. <td>{{ facebook_pos }}</td>
  105. {% if facebook_pos_gr > 0 %}
  106. <td class="table-success"><i class="fa fa-arrow-circle-o-up mr-2" aria-hidden="true"></i>{{ facebook_pos_gr }} %</td>
  107. {% else %}
  108. <td class="table-danger"><i class="fa fa-arrow-circle-o-down mr-2" aria-hidden="true"></i>{{ facebook_pos_gr }} %</td>
  109. {% endif %}
  110. <td>{{ facebook_neg }}</td>
  111. {% if facebook_neg_gr < 0 %}
  112. <td class="table-success"><i class="fa fa-arrow-circle-o-down mr-2" aria-hidden="true"></i>{{ facebook_neg_gr }} %</td>
  113. {% else %}
  114. <td class="table-danger"><i class="fa fa-arrow-circle-o-up mr-2" aria-hidden="true"></i>{{ facebook_neg_gr }} %</td>
  115. {% endif %}
  116. </tr>
  117. </tbody>
  118. </table>
  119. </div>
  120. <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
  121. <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.bundle.min.js" integrity="sha256-TQq84xX6vkwR0Qs1qH5ADkP+MvH0W+9E7TdHJsoIQiM=" crossorigin="anonymous"></script>
  122. <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.1/Chart.min.js"></script>
  123. <script>
  124. var ctx = document.getElementById("myChart");
  125. var location_id = document.getElementById("location_id").value;
  126. console.log(location_id.value)
  127. var endpoint = '/user/api/analytics';
  128. params = {
  129. "location_id":location_id.trim()
  130. }
  131. console.log(params)
  132. $.ajax({
  133. type: "get",
  134. url: endpoint,
  135. data: params,
  136. dataType: 'json',
  137. success: function(data) {
  138. console.log(data)
  139. var myBarChart = new Chart(ctx, {
  140. type: 'bar',
  141. data: {
  142. labels: data.label,
  143. datasets: [
  144. {
  145. label: 'Google',
  146. data: data.google,
  147. borderColor: 'rgb(255, 204, 0)',
  148. backgroundColor: 'rgb(255, 204, 0)',
  149. borderWidth: 1,
  150. fill: false
  151. },
  152. {
  153. label: 'Facebook',
  154. data: data.facebook,
  155. borderColor: 'rgb(0, 51, 204)',
  156. backgroundColor: 'rgb(0, 51, 204)',
  157. borderWidth: 1,
  158. fill: false
  159. },
  160. {
  161. label: 'Yelp',
  162. data: data.yelp,
  163. borderColor: 'rgb(204, 51, 0)',
  164. backgroundColor: 'rgb(204, 51, 0)',
  165. borderWidth: 1,
  166. fill: false
  167. }]
  168. },
  169. options: {
  170. scales: {
  171. yAxes: [{
  172. ticks: {
  173. beginAtZero: true
  174. }
  175. }],
  176. xAxes: [{
  177. gridLines: {
  178. drawOnChartArea:false
  179. }
  180. }]
  181. },
  182. title: {
  183. display: true,
  184. fontSize: 16,
  185. text: "Review of this month in all platforms."
  186. }
  187. }
  188. });
  189. },
  190. error: function(error_data) {
  191. console.log(error_data);
  192. }
  193. });
  194. </script>
  195. {% endblock %}