_car_card.blade.php 4.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. {{--
  2. Карточка автомобиля для каталога.
  3. Всегда 4 спека 2×2. Без class=reveal — анимация через родительский .stagger.
  4. Бейджи с непрозрачным фоном, градиент сверху для читаемости на любом фото.
  5. --}}
  6. <div class="car-card" onclick="window.location='{{ route('catalog.show', $car->id) }}'" style="cursor:pointer">
  7. <div class="car-img">
  8. @if($car->photo_main)
  9. <img src="{{ asset('storage/' . $car->photo_main) }}" alt="{{ $car->make }} {{ $car->model }}" loading="lazy"/>
  10. @else
  11. <div style="width:100%;height:100%;background:var(--bg2);display:flex;align-items:center;justify-content:center;color:var(--light);font-size:40px;min-height:200px">🚗</div>
  12. @endif
  13. {{-- Градиент сверху — фон под бейджи --}}
  14. <div style="position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,transparent 55%);pointer-events:none"></div>
  15. {{-- Бейджи — колонкой, чтобы не обрезались и не перекрывались с ♡ --}}
  16. <div class="car-img-badges" style="flex-direction:column;align-items:flex-start;gap:5px">
  17. <span class="chip chip-dark">В наличии</span>
  18. @if($car->condition === 'new')
  19. <span class="chip" style="background:var(--red);color:#fff">Новый</span>
  20. @elseif($car->condition === 'used')
  21. <span class="chip" style="background:rgba(255,255,255,.9);color:var(--text)">С пробегом</span>
  22. @endif
  23. </div>
  24. {{-- ♡ — с data-car-id для JS-логики избранного --}}
  25. <div class="car-img-fav"
  26. data-car-id="{{ $car->id }}"
  27. onclick="event.stopPropagation(); toggleFavorite({{ $car->id }}, this)"
  28. title="Добавить в избранное">♡</div>
  29. </div>
  30. <div class="car-body">
  31. @if($car->country_origin || $car->city)
  32. <div class="car-origin">
  33. @if($car->country_origin){{ $countryFlags[$car->country_origin] ?? '🌍' }} {{ $car->country_origin }}@endif
  34. @if($car->country_origin && $car->city) · @endif
  35. @if($car->city){{ $car->city }}@endif
  36. </div>
  37. @endif
  38. <div class="car-name">{{ $car->make }} {{ $car->model }}</div>
  39. {{-- Всегда 4 спека: год / мощность / топливо / пробег --}}
  40. <div class="car-specs-row">
  41. <div class="car-spec-box">
  42. <div class="car-spec-label">Год</div>
  43. <div class="car-spec-val">{{ $car->year }}</div>
  44. </div>
  45. <div class="car-spec-box">
  46. <div class="car-spec-label">Мощность</div>
  47. <div class="car-spec-val">{{ $car->engine_power_hp ? $car->engine_power_hp . ' л.с.' : '—' }}</div>
  48. </div>
  49. <div class="car-spec-box">
  50. <div class="car-spec-label">Топливо</div>
  51. <div class="car-spec-val">{{ $car->engine_type ? ($fuelLabels[$car->engine_type] ?? $car->engine_type) : '—' }}</div>
  52. </div>
  53. <div class="car-spec-box">
  54. <div class="car-spec-label">Пробег</div>
  55. <div class="car-spec-val">
  56. @if($car->mileage_km !== null)
  57. {{ $car->mileage_km > 0 ? number_format($car->mileage_km, 0, '.', ' ') . ' км' : '0 км' }}
  58. @else —@endif
  59. </div>
  60. </div>
  61. </div>
  62. <div class="car-footer">
  63. <div>
  64. <div class="car-price-label">Под ключ в РФ</div>
  65. @if($car->price_rub)
  66. <div class="car-price">{{ number_format($car->price_rub, 0, '.', ' ') }} <em>₽</em></div>
  67. @elseif($car->price_usd)
  68. <div class="car-price">{{ number_format($car->price_usd, 0, '.', ' ') }} <em>$</em></div>
  69. @else
  70. <div class="car-price" style="font-size:16px;color:var(--muted)">По запросу</div>
  71. @endif
  72. </div>
  73. <div class="car-go">→</div>
  74. </div>
  75. </div>
  76. </div>