_card_site_mode.blade.php 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. {{--
  2. Partial: карточка «Режим сайта» — техническое обслуживание и запрет индексации
  3. Переменные из родителя: $settings
  4. --}}
  5. <div class="card card-danger card-outline">
  6. <div class="card-header">
  7. <h3 class="card-title"><i class="fas fa-tools mr-2"></i>Режим сайта</h3>
  8. <div class="card-tools">
  9. <button type="button" class="btn btn-tool" data-card-widget="collapse">
  10. <i class="fas fa-minus"></i>
  11. </button>
  12. </div>
  13. </div>
  14. <div class="card-body">
  15. {{-- Техническое обслуживание --}}
  16. <div class="form-group">
  17. <div class="d-flex align-items-start">
  18. <div class="mr-3 mt-1">
  19. {{-- hidden-поле гарантирует передачу '0' когда чекбокс снят --}}
  20. <input type="hidden" name="site_maintenance" value="0">
  21. <div class="custom-control custom-switch custom-switch-lg">
  22. <input type="checkbox" class="custom-control-input" id="site_maintenance"
  23. name="site_maintenance" value="1"
  24. {{ ($settings['site_maintenance'] ?? '0') === '1' ? 'checked' : '' }}>
  25. <label class="custom-control-label" for="site_maintenance"></label>
  26. </div>
  27. </div>
  28. <div>
  29. <div class="font-weight-bold">
  30. Сайт на обслуживании
  31. @if(($settings['site_maintenance'] ?? '0') === '1')
  32. <span class="badge badge-danger ml-1">ВКЛЮЧЕНО</span>
  33. @endif
  34. </div>
  35. <small class="text-muted">
  36. Гости и пользователи с ролью ниже администратора видят страницу-заглушку «Сайт на обслуживании».
  37. Администраторы и супер-администраторы продолжают работать в обычном режиме.
  38. </small>
  39. </div>
  40. </div>
  41. </div>
  42. <hr>
  43. {{-- Отключить JS-анимации --}}
  44. <div class="form-group">
  45. <div class="d-flex align-items-start">
  46. <div class="mr-3 mt-1">
  47. <input type="hidden" name="disable_animations" value="0">
  48. <div class="custom-control custom-switch custom-switch-lg">
  49. <input type="checkbox" class="custom-control-input" id="disable_animations"
  50. name="disable_animations" value="1"
  51. {{ ($settings['disable_animations'] ?? '0') === '1' ? 'checked' : '' }}>
  52. <label class="custom-control-label" for="disable_animations"></label>
  53. </div>
  54. </div>
  55. <div>
  56. <div class="font-weight-bold">
  57. Отключить анимации на сайте
  58. @if(($settings['disable_animations'] ?? '0') === '1')
  59. <span class="badge badge-secondary ml-1">ВЫКЛЮЧЕНО</span>
  60. @endif
  61. </div>
  62. <small class="text-muted">
  63. Убирает scroll-reveal эффекты появления блоков при прокрутке.
  64. Элементы отображаются сразу, без задержек и плавных переходов.
  65. </small>
  66. </div>
  67. </div>
  68. </div>
  69. <hr>
  70. {{-- Запрет индексации --}}
  71. <div class="form-group mb-0">
  72. <div class="d-flex align-items-start">
  73. <div class="mr-3 mt-1">
  74. <input type="hidden" name="site_noindex" value="0">
  75. <div class="custom-control custom-switch custom-switch-lg">
  76. <input type="checkbox" class="custom-control-input" id="site_noindex"
  77. name="site_noindex" value="1"
  78. {{ ($settings['site_noindex'] ?? '0') === '1' ? 'checked' : '' }}>
  79. <label class="custom-control-label" for="site_noindex"></label>
  80. </div>
  81. </div>
  82. <div>
  83. <div class="font-weight-bold">
  84. Запретить индексацию поисковиками
  85. @if(($settings['site_noindex'] ?? '0') === '1')
  86. <span class="badge badge-warning ml-1">NOINDEX</span>
  87. @endif
  88. </div>
  89. <small class="text-muted">
  90. Добавляет тег <code>&lt;meta name="robots" content="noindex, nofollow"&gt;</code>
  91. на все страницы сайта. Поисковые системы (Google, Яндекс) получают
  92. команду не сохранять страницы в индекс и не переходить по ссылкам.
  93. Используйте на время разработки — перед запуском обязательно отключите.
  94. </small>
  95. </div>
  96. </div>
  97. </div>
  98. </div>
  99. </div>