spam.blade.php 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. @extends('admin.partial.template-full')
  2. @section('section')
  3. </div>
  4. <div class="header bg-primary pb-3 mt-n4">
  5. <div class="container-fluid">
  6. <div class="header-body">
  7. <div class="row align-items-center py-4">
  8. <div class="col-lg-6 col-7">
  9. <p class="display-1 text-white d-inline-block mb-0">Autospam</p>
  10. <p class="lead text-white mb-0 mt-n3">Automated Spam Detection</p>
  11. </div>
  12. </div>
  13. <div class="row">
  14. <div class="col-xl-3 col-md-6">
  15. <div class="card card-stats">
  16. <div class="card-body">
  17. <div class="row">
  18. <div class="col">
  19. <h5 class="card-title text-uppercase text-muted mb-0">Active Reports</h5>
  20. <span class="h2 font-weight-bold mb-0">{{$openCount}}</span>
  21. </div>
  22. <div class="col-auto">
  23. <div class="icon icon-shape bg-gradient-primary text-white rounded-circle shadow">
  24. <i class="far fa-exclamation-circle"></i>
  25. </div>
  26. </div>
  27. </div>
  28. <p class="mt-3 mb-0 text-sm">
  29. <span class="text-success mr-2"><i class="fa fa-arrow-up"></i> {{$monthlyCount}}</span>
  30. <span class="text-nowrap">in last 30 days</span>
  31. </p>
  32. </div>
  33. </div>
  34. </div>
  35. <div class="col-xl-3 col-md-6">
  36. <div class="card card-stats">
  37. <div class="card-body">
  38. <div class="row">
  39. <div class="col">
  40. <h5 class="card-title text-uppercase text-muted mb-0">Avg Response Time</h5>
  41. <span class="h2 font-weight-bold mb-0">{{$avgOpen}}</span>
  42. </div>
  43. <div class="col-auto">
  44. <div class="icon icon-shape bg-gradient-primary text-white rounded-circle shadow">
  45. <i class="far fa-clock"></i>
  46. </div>
  47. </div>
  48. </div>
  49. <p class="mt-3 mb-0 text-sm">
  50. <span class="text-nowrap">in last 30 days</span>
  51. </p>
  52. </div>
  53. </div>
  54. </div>
  55. @if($uncategorized)
  56. <div class="col-xl-3 col-md-6">
  57. <div class="card card-stats">
  58. <div class="card-body">
  59. <div class="row">
  60. <div class="col">
  61. <h5 class="card-title text-uppercase text-muted mb-0">Uncategorized</h5>
  62. <span class="h2 font-weight-bold mb-0">Reports Found</span>
  63. </div>
  64. <div class="col-auto">
  65. <div class="icon icon-shape bg-danger text-white rounded-circle shadow">
  66. <i class="far fa-exclamation-triangle"></i>
  67. </div>
  68. </div>
  69. </div>
  70. <form action="/i/admin/reports/autospam/sync" method="post" class="mt-2 p-0">
  71. @csrf
  72. <button type="submit" class="btn btn-danger py-1 px-2"><i class="far fa-ambulance mr-2"></i> Manual Fix</button>
  73. </form>
  74. </div>
  75. </div>
  76. </div>
  77. @endif
  78. <div class="col-xl-2 col-md-6">
  79. <div class="mb-3">
  80. <h5 class="text-light text-uppercase mb-0">Total Reports</h5>
  81. <span class="text-white h2 font-weight-bold mb-0">{{$totalCount}}</span>
  82. </div>
  83. <div class="">
  84. <h5 class="text-light text-uppercase mb-0">Reports per user</h5>
  85. <span class="text-white h2 font-weight-bold mb-0">{{$avgCount}}</span>
  86. </div>
  87. </div>
  88. </div>
  89. </div>
  90. </div>
  91. </div>
  92. <div class="container-fluid mt-4">
  93. <div class="row justify-content-center">
  94. <div class="col-12 col-md-8">
  95. <ul class="nav nav-pills nav-fill mb-4">
  96. <li class="nav-item">
  97. <a class="nav-link {{$tab=='home'?'active':''}}" href="/i/admin/reports/autospam">Active</a>
  98. </li>
  99. <li class="nav-item">
  100. <a class="nav-link {{$tab=='spam'?'active':''}}" href="/i/admin/reports/autospam?tab=spam">Spam</a>
  101. </li>
  102. <li class="nav-item">
  103. <a class="nav-link {{$tab=='not-spam'?'active':''}}" href="/i/admin/reports/autospam?tab=not-spam">Not Spam</a>
  104. </li>
  105. {{-- <li class="nav-item">
  106. <a class="nav-link" href="#">Closed</a>
  107. </li> --}}
  108. {{-- <li class="nav-item">
  109. <a class="nav-link" href="#">Review</a>
  110. </li> --}}
  111. {{-- <li class="nav-item">
  112. <a class="nav-link" href="#">Train</a>
  113. </li> --}}
  114. {{-- <li class="nav-item">
  115. <a class="nav-link {{$tab=='exemptions'?'active':''}}" href="/i/admin/reports/autospam?tab=exemptions">Exemptions</a>
  116. </li>
  117. <li class="nav-item">
  118. <a class="nav-link {{$tab=='custom'?'active':''}}" href="/i/admin/reports/autospam?tab=custom">Custom</a>
  119. </li>
  120. <li class="nav-item" style="max-width: 50px;">
  121. <a class="nav-link {{$tab=='settings'?'active':''}}" href="/i/admin/reports/autospam?tab=settings"><i class="far fa-cog"></i></a>
  122. </li> --}}
  123. </ul>
  124. <ul class="list-group">
  125. @if($appeals->count() == 0)
  126. <li class="list-group-item text-center py-5">
  127. <p class="mb-0 py-5 font-weight-bold">No autospam cases found!</p>
  128. </li>
  129. @endif
  130. @foreach($appeals as $appeal)
  131. <a class="list-group-item text-decoration-none text-dark" href="/i/admin/reports/autospam/{{$appeal->id}}">
  132. <div class="d-flex justify-content-between align-items-center">
  133. <div class="d-flex align-items-center">
  134. <img src="{{$appeal->has_media ? $appeal->status->thumb(true) : '/storage/no-preview.png'}}" width="64" height="64" class="rounded border" onerror="this.onerror=null;this.src='/storage/no-preview.png';">
  135. <div class="ml-3">
  136. <span class="d-inline-block text-truncate">
  137. <p class="mb-0 font-weight-bold">&commat;{{$appeal->user->username}}</p>
  138. <p class="mb-0 small text-muted font-weight-bold">{{$appeal->created_at->diffForHumans(null, null, true)}}</p>
  139. </span>
  140. </div>
  141. </div>
  142. <div class="d-block">
  143. </div>
  144. <div class="d-inline-block">
  145. <p class="mb-0 small">
  146. <i class="fas fa-chevron-right fa-2x text-lighter"></i>
  147. </p>
  148. </div>
  149. </div>
  150. </a>
  151. @endforeach
  152. </ul>
  153. <p>{!!$appeals->render()!!}</p>
  154. </div>
  155. </div>
  156. </div>
  157. @endsection