Orders Found
Found {{ $orders->count() }} {{ Str::plural('order', $orders->count()) }} matching your search
@foreach($orders as $item)
@php
$order = $item['order'];
$token = $item['token'];
$customerName = $order->billing['name'] ?? trim(($order->billing['first_name'] ?? '') . ' ' . ($order->billing['last_name'] ?? ''));
$statusColors = [
'processing' => 'bg-yellow-100 text-yellow-800 border-yellow-300 dark:bg-yellow-900/30 dark:text-yellow-300 dark:border-yellow-700',
'completed' => 'bg-green-100 text-green-800 border-green-300 dark:bg-green-900/30 dark:text-green-300 dark:border-green-700',
'pending' => 'bg-gray-100 text-gray-800 border-gray-300 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-600',
'on-hold' => 'bg-orange-100 text-orange-800 border-orange-300 dark:bg-orange-900/30 dark:text-orange-300 dark:border-orange-700',
'cancelled' => 'bg-red-100 text-red-800 border-red-300 dark:bg-red-900/30 dark:text-red-300 dark:border-red-700',
'refunded' => 'bg-purple-100 text-purple-800 border-purple-300 dark:bg-purple-900/30 dark:text-purple-300 dark:border-purple-700',
'failed' => 'bg-red-100 text-red-800 border-red-300 dark:bg-red-900/30 dark:text-red-300 dark:border-red-700',
'printed' => 'bg-blue-100 text-blue-800 border-blue-300 dark:bg-blue-900/30 dark:text-blue-300 dark:border-blue-700',
'packed' => 'bg-amber-100 text-amber-800 border-amber-300 dark:bg-amber-900/30 dark:text-amber-300 dark:border-amber-700',
'approval' => 'bg-purple-100 text-purple-800 border-purple-300 dark:bg-purple-900/30 dark:text-purple-300 dark:border-purple-700',
];
$statusClass = $statusColors[$order->status] ?? $statusColors['pending'];
@endphp
Order Number
{{ $order->global_order_id ?? $order->order_number }}
{{ ucfirst($order->status) }}
Date
{{ $order->date_created ? $order->date_created->format('d M Y') : $order->created_at->format('d M Y') }}
Total
{{ $order->formatCurrency() }}
Payment
{{ $order->payment_method_title ?? ucfirst($order->payment_method ?? 'N/A') }}
Items
@if(is_array($order->line_items))
@foreach(array_slice($order->line_items, 0, 3) as $item)
{{ $item['quantity'] }}x {{ Str::limit($item['name'] ?? 'Product', 40) }}
@endforeach
@if(count($order->line_items) > 3)
+{{ count($order->line_items) - 3 }} more {{ Str::plural('item', count($order->line_items) - 3) }}
@endif
@endif
@if($order->tracking_number)
@php
// Build tracking URL based on courier
$courier = strtolower($order->courier ?? '');
$trackingNumber = $order->tracking_number;
$trackingUrl = null;
if (str_contains($courier, 'poslaju') || str_contains($courier, 'pos laju')) {
$trackingUrl = 'https://tracking.pos.com.my/tracking/' . urlencode($trackingNumber);
} elseif (str_contains($courier, 'ninjavan') || str_contains($courier, 'ninja')) {
$trackingUrl = 'https://www.ninjavan.co/en-my/tracking?id=' . urlencode($trackingNumber);
} elseif (str_contains($courier, 'j&t') || str_contains($courier, 'jnt') || str_contains($courier, 'j and t')) {
$trackingUrl = 'https://www.tracking.my/jnt/' . urlencode($trackingNumber);
} elseif (str_contains($courier, 'dhl')) {
$trackingUrl = 'https://www.dhl.com/my-en/home/tracking.html?tracking-id=' . urlencode($trackingNumber);
} elseif (str_contains($courier, 'gdex')) {
$trackingUrl = 'https://www.gdexpress.com/track/' . urlencode($trackingNumber);
} elseif (str_contains($courier, 'shopee')) {
$trackingUrl = 'https://www.tracking.my/spx/' . urlencode($trackingNumber);
} elseif (str_contains($courier, 'city-link') || str_contains($courier, 'citylink')) {
$trackingUrl = 'https://www.tracking.my/citylink/' . urlencode($trackingNumber);
} elseif (str_contains($courier, 'abx') || str_contains($courier, 'kerry')) {
$trackingUrl = 'https://www.tracking.my/abx/' . urlencode($trackingNumber);
} else {
// Default to tracking.my which auto-detects courier
$trackingUrl = 'https://www.tracking.my/' . urlencode($trackingNumber);
}
@endphp
Tracking: {{ $order->tracking_number }}
@if($order->courier)
({{ $order->courier }})
@endif
@if($trackingUrl)
Track Parcel
@endif
@endif
View Receipt
@endforeach