{{-- One property in a grid. The facts strip reads from `propertyDetail` — the indexed projection — rather than walking attribute values, so a page of twenty-four cards is one query and not twenty-four. --}} @php $detail = $listing->propertyDetail; $url = $listing->publicUrl(); @endphp
{{ $listing->intent->label() }} @if ($listing->status->isClosed()) {{ $listing->status->label() }} @endif @if ($listing->is_featured) {{ __('Featured') }} @endif

{{ $listing->formattedPrice() }} @if ($period = $listing->pricePeriodLabel()) {{ $period }} @endif

{{ $listing->title }}

{{ $listing->locationLabel() }}

{{-- Real estate reads the indexed projection; every other vertical falls back to the attribute values the category marked as highlighted, so a vehicle card is not a blank space where the bedroom count would be. --}} @if (! $detail && $listing->relationLoaded('attributeValues')) @php($highlights = collect($listing->specification())->take(3)) @if ($highlights->isNotEmpty())
@foreach ($highlights as $row)
{{ $row['label'] }}
{{ $row['value'] }}
@endforeach
@endif @endif @if ($detail)
@foreach ([ ['icon' => 'bed', 'value' => $detail->bedrooms, 'label' => __('bed')], ['icon' => 'bath', 'value' => $detail->bathrooms, 'label' => __('bath')], ['icon' => 'key', 'value' => $detail->parking, 'label' => __('parking')], ] as $fact) @if ($fact['value'])
{{ $fact['label'] }}
{{ $fact['value'] }} {{ $fact['label'] }}
@endif @endforeach @if ($area = $detail->headlineArea())
{{ __('Area') }}
{{ number_format($area) }} {{ __('sq. ft') }}
@endif
@endif