@php $trackingStatus = $order->getTrackingStatus(); $orderStatus = $trackingStatus->getValue(); $isCanceled = in_array($orderStatus, [ \Botble\Ecommerce\Enums\OrderStatusEnum::CANCELED, \Botble\Ecommerce\Enums\OrderStatusEnum::RETURNED, \Botble\Ecommerce\Enums\OrderStatusEnum::PARTIAL_RETURNED, ]); $shipmentStatus = ($order->shipment && $order->shipment->id) ? ($order->shipment->status instanceof \Botble\Base\Supports\Enum ? $order->shipment->status->getValue() : (string) $order->shipment->status) : null; $currentStep = 1; if ($orderStatus === \Botble\Ecommerce\Enums\OrderStatusEnum::COMPLETED || in_array($shipmentStatus, [\Botble\Ecommerce\Enums\ShippingStatusEnum::DELIVERED, \Botble\Ecommerce\Enums\ShippingStatusEnum::AUDITED])) { $currentStep = 4; } elseif ($shipmentStatus === \Botble\Ecommerce\Enums\ShippingStatusEnum::DELIVERING) { $currentStep = 3; } elseif ( $orderStatus === \Botble\Ecommerce\Enums\OrderStatusEnum::PROCESSING || in_array($shipmentStatus, [ \Botble\Ecommerce\Enums\ShippingStatusEnum::APPROVED, \Botble\Ecommerce\Enums\ShippingStatusEnum::PENDING, \Botble\Ecommerce\Enums\ShippingStatusEnum::ARRANGE_SHIPMENT, \Botble\Ecommerce\Enums\ShippingStatusEnum::READY_TO_BE_SHIPPED_OUT, \Botble\Ecommerce\Enums\ShippingStatusEnum::PICKING, \Botble\Ecommerce\Enums\ShippingStatusEnum::DELAY_PICKING, \Botble\Ecommerce\Enums\ShippingStatusEnum::PICKED, ]) ) { $currentStep = 2; } else { $currentStep = 1; } $progressPercent = match ($currentStep) { 1 => 0, 2 => 33.33, 3 => 66.66, 4 => 100, default => 0, }; $steps = [ [ 'number' => 1, 'key' => 'approved', 'title' => $trackingStatus->label() ?: __('Approved'), 'description' => __('Order Placed'), 'icon' => $trackingStatus->getIcon() ?: 'ti ti-clipboard-check', 'time' => $order->created_at ? $order->created_at->translatedFormat('d M Y, H:i') : null, ], [ 'number' => 2, 'key' => 'preparing', 'title' => __('Preparing'), 'description' => __('Processing & Packing'), 'icon' => 'ti ti-package', 'time' => ($currentStep >= 2 && $order->shipment && $order->shipment->created_at) ? $order->shipment->created_at->translatedFormat('d M Y, H:i') : null, ], [ 'number' => 3, 'key' => 'shipping', 'title' => __('Shipping'), 'description' => ($order->shipment && $order->shipment->shipping_company_name) ? $order->shipment->shipping_company_name : __('Out for Delivery'), 'icon' => 'ti ti-truck-delivery', 'time' => ($order->shipment && $order->shipment->date_shipped) ? \Carbon\Carbon::parse($order->shipment->date_shipped)->translatedFormat('d M Y, H:i') : null, ], [ 'number' => 4, 'key' => 'delivered', 'title' => __('Delivered'), 'description' => __('Package Delivered'), 'icon' => 'ti ti-home-check', 'time' => ($currentStep >= 4 && $order->completed_at) ? $order->completed_at->translatedFormat('d M Y, H:i') : null, ], ]; @endphp
{{ $step['description'] }}
@if ($step['time']) {{ $step['time'] }} @endif