{{-- Subtitle tanggal (judul order number sudah di header layout) --}}

{{ $order->created_at->translatedFormat('d M Y, H:i') }}

{{-- ══ STATUS BADGE ═══════════════════════════════════════════════════ --}} @php // Status Pesanan — warna biru/slate $statusColors = [ 'pending' => 'bg-slate-50 text-slate-600 border-slate-200', 'paid' => 'bg-blue-50 text-blue-700 border-blue-200', 'processing' => 'bg-indigo-50 text-indigo-700 border-indigo-200', 'delivering' => 'bg-cyan-50 text-cyan-700 border-cyan-200', 'completed' => 'bg-teal-50 text-teal-700 border-teal-200', 'cancelled' => 'bg-slate-100 text-slate-500 border-slate-200', ]; $statusClass = $statusColors[$order->status->value] ?? 'bg-slate-50 text-slate-600 border-slate-200'; @endphp

Status Pesanan

{{ $order->status->label() }}
@if ($order->payment)

Status Pembayaran

$order->payment->status->value === 'pending', 'text-green-600' => $order->payment->status->value === 'verified', 'text-red-600' => $order->payment->status->value === 'rejected', ])> {{ $order->payment->status->label() }}
@endif
{{-- Informasi deadline jika pending dan bukan COD --}} @if ($order->isPending() && $order->payment_deadline && $order->payment_method !== \App\Enums\PaymentMethod::Cod)

⏰ Hubungi admin untuk konfirmasi pembayaran sebelum {{ $order->payment_deadline->translatedFormat('d M Y, H:i') }}

@endif {{-- Alasan pembayaran ditolak --}} @if ($order->payment && $order->payment->status->value === 'rejected')

⚠️ Pembayaran Ditolak

@if ($order->payment->rejection_notes)

{{ $order->payment->rejection_notes }}

@else

Hubungi admin untuk informasi lebih lanjut.

@endif
@endif {{-- Alasan pesanan dibatalkan --}} @if ($order->status->value === 'cancelled') @php // admin_notes format: "Dibatalkan: " atau bisa multi-baris $cancelNote = null; if ($order->admin_notes) { // Ambil baris yang mengandung "Dibatalkan:" $lines = explode("\n", $order->admin_notes); foreach ($lines as $line) { if (str_starts_with(trim($line), 'Dibatalkan:')) { $cancelNote = trim(substr(trim($line), strlen('Dibatalkan:'))); break; } } // Jika tidak ada prefix, tampilkan seluruh admin_notes if (! $cancelNote) { $cancelNote = $order->admin_notes; } } @endphp

❌ Pesanan Dibatalkan

@if ($cancelNote)

{{ $cancelNote }}

@else

Hubungi admin untuk informasi lebih lanjut.

@endif
@endif
{{-- ══ PRODUK ══════════════════════════════════════════════════════════ --}}

Produk ({{ $order->items->count() }})

@foreach ($order->items as $item)
@if ($item->product_image) {{ $item->product_name }} @else
@endif

{{ $item->product_name }}

{{ $item->quantity }} × Rp {{ number_format($item->sell_price, 0, ',', '.') }}

@if ($item->notes)

📝 {{ $item->notes }}

@endif

Rp {{ number_format($item->subtotal, 0, ',', '.') }}

@endforeach
{{-- ══ INFO PENGIRIMAN ═════════════════════════════════════════════════ --}}

Info Pengiriman

Penerima

{{ $order->customer_name }} · {{ $order->customer_phone }}

Alamat

{{ $order->delivery_address_snapshot }}

@if ($order->deliveryArea)

Area Pengiriman

{{ $order->deliveryArea->name }}

@endif @if ($order->customer_notes)

Catatan

{{ $order->customer_notes }}

@endif
{{-- ══ RINGKASAN HARGA ═════════════════════════════════════════════════ --}}

Rincian Pembayaran

Subtotal Rp {{ number_format($order->subtotal, 0, ',', '.') }}
Ongkos Kirim @if ($order->delivery_cost == 0) Gratis @else Rp {{ number_format($order->delivery_cost, 0, ',', '.') }} @endif
@if ($order->discount_amount > 0)
Diskon - Rp {{ number_format($order->discount_amount, 0, ',', '.') }}
@endif
Total Rp {{ number_format($order->grand_total, 0, ',', '.') }}

Metode Bayar: {{ $order->payment_method->label() }}

{{-- ══ TIMELINE STATUS ═════════════════════════════════════════════════ --}}

Riwayat Status

@foreach ($timeline as $i => $step)
@if (!$loop->last)
@endif @if ($step['active'])
@elseif ($step['done'])
@else
@endif

$step['active'], 'text-slate-700' => $step['done'], 'text-slate-400' => !$step['done'] && !$step['active'], ])> {{ $step['label'] }} @if ($step['active']) Saat ini @endif

@if ($step['time'])

{{ $step['time']->translatedFormat('d M Y, H:i') }}

@elseif (!$step['done'] && !$step['active'])

Belum terjadi

@endif
@endforeach
{{-- ══ TOMBOL CHAT ADMIN WHATSAPP ══════════════════════════════════════ --}} @php $waAdmin = \App\Models\Setting::get('wa_admin'); $waNumber = $waAdmin ? preg_replace('/^0/', '62', preg_replace('/[^0-9]/', '', $waAdmin)) : null; $waMessage = urlencode('Halo Admin, saya ingin menanyakan pesanan saya dengan nomor ' . $order->order_number); @endphp @if ($waNumber)
Chat Admin WhatsApp

Tanyakan status pesanan, pembayaran, atau pengiriman

@endif