@props(['course']) @php $organization = $course->organization; $price = $course->effectivePriceCents(); @endphp
@if ($course->thumbnail_path) {{-- Explicit dimensions: no layout shift, which is half the LCP battle --}} @endif
{{-- Provider badge: the University / Trainer distinction is the platform's positioning, so it reads before the title. --}} @if ($organization) {{ $organization->type->label() }} @endif

{{ $course->title }}

{{ $organization?->name ?? $course->owner->name }}

{{-- Every number here is a denormalised column. No aggregation on a listing page. --}}

@if ($course->rating_count > 0) {{ number_format($course->rating_avg, 1) }} ({{ number_format($course->rating_count) }}) @endif {{ $course->total_lectures }} lectures {{ $course->durationLabel() }}

@if ($course->isFree()) Free @else {{ $course->currency }} {{ number_format($price / 100, 2) }} @if ($course->sale_price_cents !== null && $course->sale_price_cents < $course->price_cents) {{ number_format($course->price_cents / 100, 2) }} @endif @endif