_dashboard_actions.blade.php 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. {{--
  2. Partial: ряд 3 дашборда — быстрые действия, состояние системы, контент сайта
  3. Переменные: $leadsUnread, $leadsTotal, $carsTotal, $servicesTotal, $reviewsTotal,
  4. $visitsToday, $uniqueToday, $systemInfo
  5. --}}
  6. <div class="row">
  7. {{-- Быстрые действия --}}
  8. <div class="col-md-4">
  9. <div class="card card-outline card-secondary shadow-sm mb-3">
  10. <div class="card-header"><h3 class="card-title"><i class="fas fa-bolt mr-2"></i>Быстрые действия</h3></div>
  11. <div class="card-body">
  12. <div class="row">
  13. <div class="col-6 mb-2">
  14. <a href="{{ route('admin.cars.create') }}" class="btn btn-block btn-outline-warning btn-sm">
  15. <i class="fas fa-plus mr-1"></i>Добавить авто
  16. </a>
  17. </div>
  18. <div class="col-6 mb-2">
  19. <a href="{{ route('admin.services.create') }}" class="btn btn-block btn-outline-primary btn-sm">
  20. <i class="fas fa-plus mr-1"></i>Добавить услугу
  21. </a>
  22. </div>
  23. <div class="col-6 mb-2">
  24. <a href="{{ route('admin.reviews.create') }}" class="btn btn-block btn-outline-info btn-sm">
  25. <i class="fas fa-plus mr-1"></i>Добавить отзыв
  26. </a>
  27. </div>
  28. <div class="col-6 mb-2">
  29. <a href="{{ route('admin.blocks.create') }}" class="btn btn-block btn-outline-success btn-sm">
  30. <i class="fas fa-plus mr-1"></i>Новый блок
  31. </a>
  32. </div>
  33. <div class="col-6 mb-2">
  34. <a href="{{ route('admin.leads.index') }}" class="btn btn-block btn-outline-danger btn-sm">
  35. <i class="fas fa-inbox mr-1"></i>Заявки
  36. </a>
  37. </div>
  38. <div class="col-6 mb-2">
  39. <form action="{{ route('admin.cache.clear') }}" method="POST" class="d-block">
  40. @csrf
  41. <button type="submit" class="btn btn-block btn-outline-secondary btn-sm">
  42. <i class="fas fa-broom mr-1"></i>Очистить кеш
  43. </button>
  44. </form>
  45. </div>
  46. </div>
  47. </div>
  48. </div>
  49. </div>
  50. {{-- Состояние системы --}}
  51. <div class="col-md-4">
  52. <div class="card card-outline card-secondary shadow-sm mb-3">
  53. <div class="card-header"><h3 class="card-title"><i class="fas fa-server mr-2"></i>Система</h3></div>
  54. <div class="card-body p-0">
  55. <table class="table table-sm mb-0">
  56. <tbody>
  57. <tr>
  58. <td class="text-muted" style="width:55%">PHP</td>
  59. <td><code>{{ $systemInfo['php'] }}</code></td>
  60. </tr>
  61. <tr>
  62. <td class="text-muted">Laravel</td>
  63. <td><code>{{ $systemInfo['laravel'] }}</code></td>
  64. </tr>
  65. <tr>
  66. <td class="text-muted">Кеш</td>
  67. <td><code>{{ $systemInfo['cache_driver'] }}</code></td>
  68. </tr>
  69. <tr>
  70. <td class="text-muted">OPcache</td>
  71. <td>
  72. @if($systemInfo['opcache'])
  73. <span class="text-success"><i class="fas fa-check-circle"></i> Включён</span>
  74. <small class="text-muted d-block">
  75. hits: {{ number_format($systemInfo['opcache_hits']) }}
  76. </small>
  77. @else
  78. <span class="text-danger"><i class="fas fa-times-circle"></i> Выключен</span>
  79. @endif
  80. </td>
  81. </tr>
  82. <tr>
  83. <td class="text-muted">Upload limit</td>
  84. <td><code>{{ $systemInfo['max_upload'] }}</code></td>
  85. </tr>
  86. <tr>
  87. <td class="text-muted">Memory</td>
  88. <td><code>{{ $systemInfo['memory_limit'] }}</code></td>
  89. </tr>
  90. <tr>
  91. <td class="text-muted">Диск</td>
  92. <td>
  93. <div class="progress mb-1" style="height:6px">
  94. <div class="progress-bar {{ $systemInfo['disk_pct'] > 80 ? 'bg-danger' : ($systemInfo['disk_pct'] > 60 ? 'bg-warning' : 'bg-success') }}"
  95. style="width:{{ $systemInfo['disk_pct'] }}%"></div>
  96. </div>
  97. <small class="text-muted">
  98. {{ $systemInfo['disk_pct'] }}% занято
  99. (свободно {{ $systemInfo['disk_free'] }})
  100. </small>
  101. </td>
  102. </tr>
  103. </tbody>
  104. </table>
  105. </div>
  106. </div>
  107. </div>
  108. {{-- Контент сайта --}}
  109. <div class="col-md-4">
  110. <div class="card card-outline card-secondary shadow-sm mb-3">
  111. <div class="card-header"><h3 class="card-title"><i class="fas fa-database mr-2"></i>Контент сайта</h3></div>
  112. <div class="card-body p-0">
  113. <table class="table table-sm mb-0">
  114. <tbody>
  115. <tr>
  116. <td class="text-muted">
  117. <i class="fas fa-car text-warning mr-2"></i>Автомобили
  118. </td>
  119. <td class="text-right font-weight-bold">
  120. <a href="{{ route('admin.cars.index') }}">{{ $carsTotal }}</a>
  121. </td>
  122. </tr>
  123. <tr>
  124. <td class="text-muted">
  125. <i class="fas fa-concierge-bell text-primary mr-2"></i>Услуги
  126. </td>
  127. <td class="text-right font-weight-bold">
  128. <a href="{{ route('admin.services.index') }}">{{ $servicesTotal }}</a>
  129. </td>
  130. </tr>
  131. <tr>
  132. <td class="text-muted">
  133. <i class="fas fa-star text-info mr-2"></i>Отзывы
  134. </td>
  135. <td class="text-right font-weight-bold">
  136. <a href="{{ route('admin.reviews.index') }}">{{ $reviewsTotal }}</a>
  137. </td>
  138. </tr>
  139. <tr>
  140. <td class="text-muted">
  141. <i class="fas fa-paper-plane text-danger mr-2"></i>Заявки
  142. </td>
  143. <td class="text-right font-weight-bold">
  144. <a href="{{ route('admin.leads.index') }}">{{ $leadsTotal }}</a>
  145. @if($leadsUnread > 0)
  146. <span class="badge badge-danger">{{ $leadsUnread }}</span>
  147. @endif
  148. </td>
  149. </tr>
  150. <tr>
  151. <td class="text-muted">
  152. <i class="fas fa-th-large text-success mr-2"></i>Блоки
  153. </td>
  154. <td class="text-right font-weight-bold">
  155. <a href="{{ route('admin.blocks.index') }}">{{ \App\Models\Block::count() }}</a>
  156. </td>
  157. </tr>
  158. <tr>
  159. <td class="text-muted">
  160. <i class="fas fa-clock text-secondary mr-2"></i>Посетителей сегодня
  161. </td>
  162. <td class="text-right font-weight-bold text-info">{{ $visitsToday }}</td>
  163. </tr>
  164. <tr>
  165. <td class="text-muted">
  166. <i class="fas fa-user-check text-secondary mr-2"></i>Уникальных IP
  167. </td>
  168. <td class="text-right font-weight-bold">{{ $uniqueToday }}</td>
  169. </tr>
  170. </tbody>
  171. </table>
  172. </div>
  173. </div>
  174. </div>
  175. </div>