{{-- Header with Stats --}}

Track Shipments

Monitor your packages in real-time

{{-- Stats Cards --}}
{{ $shipmentCounts['total'] }}
Total
{{ $shipmentCounts['in_transit'] }}
In Transit
{{ $shipmentCounts['delivered'] }}
Delivered
{{-- Filters Section --}}
All Statuses @foreach($statuses as $value => $label) {{ $label }} @endforeach @if($search || $filterByStatus) @endif
{{-- Shipments List --}}
@forelse($shipments as $shipment)
{{-- Left: Shipment Info --}}
{{-- Carrier Badge --}} @php $carrierIcons = [ 'ups' => '📦', 'fedex' => '📦', 'usps' => '📬', 'dhl' => '📦', 'other' => '📦', ]; @endphp {{ $carrierIcons[$shipment->carrier] ?? '📦' }} {{ strtoupper($shipment->carrier ?? 'N/A') }} {{-- Status Badge --}} @php $statusStyles = [ 'preparing' => 'bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400', 'shipped' => 'bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400', 'in_transit' => 'bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-400', 'delivered' => 'bg-emerald-100 text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-400', 'exception' => 'bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400', ]; $statusIcons = [ 'preparing' => '', 'shipped' => '', 'in_transit' => '', 'delivered' => '', 'exception' => '', ]; @endphp {!! $statusIcons[$shipment->status] ?? '' !!} {{ ucfirst(str_replace('_', ' ', $shipment->status)) }}
{{-- Tracking Number --}} @if($shipment->tracking_number)
Tracking: {{ $shipment->tracking_number }}
@endif {{-- Order Link --}} {{-- Dates --}}
@if($shipment->shipped_at) Shipped: {{ $shipment->shipped_at->format('M j, Y') }} @endif @if($shipment->delivered_at) Delivered: {{ $shipment->delivered_at->format('M j, Y') }} @endif
{{-- Delivery Notes --}} @if($shipment->delivery_notes)
Note: {{ $shipment->delivery_notes }}
@endif
{{-- Right: Track Button --}}
@php $trackUrl = $this->getTrackingUrl($shipment->carrier, $shipment->tracking_number); @endphp @if($trackUrl) Track Package @else Awaiting Tracking @endif
{{-- Progress Bar (for visual appeal) --}} @php $progressSteps = ['preparing', 'shipped', 'in_transit', 'delivered']; $currentIndex = array_search($shipment->status, $progressSteps); if ($currentIndex === false) $currentIndex = 0; if ($shipment->status === 'exception') $currentIndex = -1; @endphp @if($shipment->status !== 'exception')
@foreach($progressSteps as $index => $step)
@if($index < $currentIndex) @else {{ $index + 1 }} @endif
{{ ucfirst($step) }}
@if($index < count($progressSteps) - 1)
@endif @endforeach
@endif
@empty {{-- Empty State --}}

No shipments yet

When your orders ship, tracking information will appear here.

View Orders
@endforelse
{{-- Pagination --}} @if($shipments->hasPages())
{{ $shipments->links() }}
@endif