@php /** @var \App\Models\Installment $record */ $record = $getRecord(); $media = $record->getFirstMedia('bukti'); // Route ber-otorisasi, bukan getUrl(): media disimpan di disk privat. $url = $media ? route('media.show', $media) : null; $mime = (string) ($media?->mime_type ?? ''); $ext = strtolower(pathinfo((string) ($media?->file_name ?? ''), PATHINFO_EXTENSION)); // Fallback ke ekstensi: mime hasil deteksi kadang tak persis (mis. file kosong). $isImage = str_starts_with($mime, 'image/') || in_array($ext, ['jpg', 'jpeg', 'png', 'webp', 'gif'], true); $isPdf = $mime === 'application/pdf' || $ext === 'pdf'; @endphp @if (!$media)

Tidak ada bukti yang diunggah untuk angsuran ini.

@elseif ($isImage) {{-- Gambar: tampil ukuran wajar; klik buka ukuran penuh di tab baru. --}} Bukti pembayaran {{ $record->installment_number }} Klik untuk buka ukuran penuh di tab baru. @elseif ($isPdf) {{-- PDF: buka di tab baru (browser merender PDF natif). --}} Buka bukti (PDF) di tab baru @else {{-- Tipe lain: cukup tautan unduh. --}} Unduh bukti @endif