@php use App\Enums\Order\OrderItemStatusEnum; $isSeller = $panel === 'seller'; $sellerActions = []; // Build the seller dropdown menu items based on the item's current status. // Empty list = no dropdown rendered (just the View icon). if ($isSeller && $editPermission && !empty($status) && !($isReschedulePending ?? false)) { switch ($status) { case OrderItemStatusEnum::AWAITING_STORE_RESPONSE(): $sellerActions = [ ['label' => __('labels.accept'), 'icon' => 'ti-check', 'class' => 'text-success', 'modal' => '#acceptModel'], ['label' => __('labels.reject'), 'icon' => 'ti-x', 'class' => 'text-danger', 'modal' => '#rejectModel'], ]; break; case OrderItemStatusEnum::ACCEPTED(): $sellerActions = []; if (!($isPickup ?? false)) { $prepItem = ['label' => __('labels.preparing'), 'icon' => 'ti-tools-kitchen-2', 'class' => 'text-primary', 'modal' => '#preparingModel']; if ($isPrepLocked ?? false) { $prepItem['disabled'] = true; $prepItem['disabled_reason'] = __('messages.scheduled_delivery_prep_too_early', ['time' => $prepStartTimeStr ?? '']); $prepItem['class'] = 'text-muted'; } $sellerActions[] = $prepItem; } $sellerActions[] = ['label' => __('labels.cancel_item'), 'icon' => 'ti-ban', 'class' => 'text-danger', 'modal' => '#cancelItemModal']; break; case OrderItemStatusEnum::PREPARING(): $sellerActions = [ ['label' => __('labels.cancel_item'), 'icon' => 'ti-ban', 'class' => 'text-danger', 'modal' => '#cancelItemModal'], ]; break; case OrderItemStatusEnum::RETURNING_TO_STORE(): $sellerActions = [ ['label' => __('labels.confirm_received'), 'icon' => 'ti-package-import', 'class' => 'text-success', 'modal' => '#confirmReturnModal'], ]; break; } } @endphp