_section_photos.blade.php 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. {{--
  2. Partial: секция «Фотографии» формы автомобиля
  3. Переменные из родителя: $car
  4. --}}
  5. <div class="card card-dark card-outline">
  6. <div class="card-header"><h3 class="card-title">Фотографии</h3></div>
  7. <div class="card-body">
  8. @if($car && $car->photo_main)
  9. <div class="mb-3">
  10. <label>Текущее главное фото</label><br>
  11. <img src="{{ Storage::url($car->photo_main) }}"
  12. class="img-thumbnail" style="max-height:150px">
  13. </div>
  14. @endif
  15. <div class="form-group">
  16. <label>Главное фото {{ $car && $car->photo_main ? '(заменить)' : '' }}</label>
  17. <div class="input-group">
  18. <div class="custom-file">
  19. <input type="file" class="custom-file-input" id="photo_main"
  20. name="photo_main" accept="image/jpeg,image/png,image/webp">
  21. <label class="custom-file-label" for="photo_main">Выберите файл...</label>
  22. </div>
  23. </div>
  24. <small class="text-muted">JPG, PNG, WebP. Рекомендуется 800×600 или больше.</small>
  25. </div>
  26. @if($car && $car->photos_gallery)
  27. <div class="mb-3">
  28. <label>Галерея (текущие фото)</label>
  29. <div class="d-flex flex-wrap gap-2">
  30. @foreach($car->photos_gallery as $gPhoto)
  31. <div class="position-relative" style="margin:4px">
  32. <img src="{{ Storage::url($gPhoto) }}"
  33. class="img-thumbnail" style="height:80px;width:auto;max-width:120px;object-fit:cover">
  34. <div class="custom-control custom-checkbox mt-1">
  35. <input type="checkbox" class="custom-control-input"
  36. id="del_{{ $loop->index }}"
  37. name="delete_gallery[]" value="{{ $gPhoto }}">
  38. <label class="custom-control-label text-danger" for="del_{{ $loop->index }}">
  39. <small>Удалить</small>
  40. </label>
  41. </div>
  42. </div>
  43. @endforeach
  44. </div>
  45. </div>
  46. @endif
  47. <div class="form-group">
  48. <label>Добавить фото в галерею</label>
  49. <div class="input-group">
  50. <div class="custom-file">
  51. <input type="file" class="custom-file-input" id="photos_gallery"
  52. name="photos_gallery[]" multiple accept="image/jpeg,image/png,image/webp">
  53. <label class="custom-file-label" for="photos_gallery">Выберите файлы...</label>
  54. </div>
  55. </div>
  56. <small class="text-muted">Можно выбрать несколько файлов.</small>
  57. </div>
  58. </div>
  59. </div>