From dde14d1d95d75e8d594183c9b3d06f71eeef2ff7 Mon Sep 17 00:00:00 2001 From: morteza-mortezai Date: Fri, 26 Jun 2026 16:09:29 +0330 Subject: [PATCH] up --- src/pages/order/List.tsx | 15 +++++---- src/pages/order/constants/orderStatus.ts | 43 ++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 7 deletions(-) create mode 100644 src/pages/order/constants/orderStatus.ts diff --git a/src/pages/order/List.tsx b/src/pages/order/List.tsx index ea572a6..c055778 100644 --- a/src/pages/order/List.tsx +++ b/src/pages/order/List.tsx @@ -11,6 +11,7 @@ import Button from '@/components/Button' import UserSearch from '../user/UserSearch' import DesignerSearch from '../designer/DesignerSearch' import CategoriesSelect from '../product/components/CategoriesSelect' +import { getOrderStatusBadgeClass, getOrderStatusLabel } from './constants/orderStatus' const OrdersList: FC = () => { @@ -132,13 +133,13 @@ const OrdersList: FC = () => { { key: 'status', title: 'وضعیت', - render: (item) => { - return ( -
- {item.status} -
- ) - } + render: (item) => ( + + {getOrderStatusLabel(item.status)} + + ), }, { key: 'createdAt', diff --git a/src/pages/order/constants/orderStatus.ts b/src/pages/order/constants/orderStatus.ts new file mode 100644 index 0000000..b1c9b8d --- /dev/null +++ b/src/pages/order/constants/orderStatus.ts @@ -0,0 +1,43 @@ +import { OrderStatusEnum } from '../enum/OrderEnum' + +export const orderStatusLabels: Record = { + [OrderStatusEnum.CREATED]: 'ایجاد شده', + [OrderStatusEnum.INVOICED]: 'فاکتور شده', + [OrderStatusEnum.WAITING_to_CONFIRM_INVOICE]: 'در انتظار تایید فاکتور', + [OrderStatusEnum.DESIGN_INITIATED]: 'شروع طراحی', + [OrderStatusEnum.DESIGN_FINISHED]: 'طراحی تمام شده', + [OrderStatusEnum.DESIGN_REVISION]: 'بازنگری طراحی', + [OrderStatusEnum.READY_TO_PRINTING]: 'آماده چاپ', + [OrderStatusEnum.IN_PRINTING]: 'در حال چاپ', + [OrderStatusEnum.AFTER_PRINT_COVER]: 'پس از چاپ جلد', + [OrderStatusEnum.AFTER_PRINT_BOXING]: 'بسته‌بندی', + [OrderStatusEnum.AFTER_PRINT_CARTONING]: 'کارتن‌سازی', + [OrderStatusEnum.READY_FOR_DELIVERY]: 'آماده ارسال', + [OrderStatusEnum.DELIVERED]: 'تحویل شده', + [OrderStatusEnum.FINISHED]: 'پایان یافته', + [OrderStatusEnum.CANCELED]: 'لغو شده', +} + +export const orderStatusBadgeClass: Record = { + [OrderStatusEnum.CREATED]: 'bg-blue-100 text-blue-800', + [OrderStatusEnum.INVOICED]: 'bg-green-100 text-green-800', + [OrderStatusEnum.WAITING_to_CONFIRM_INVOICE]: 'bg-amber-100 text-amber-800', + [OrderStatusEnum.DESIGN_INITIATED]: 'bg-blue-100 text-blue-800', + [OrderStatusEnum.DESIGN_FINISHED]: 'bg-green-100 text-green-800', + [OrderStatusEnum.DESIGN_REVISION]: 'bg-amber-100 text-amber-800', + [OrderStatusEnum.READY_TO_PRINTING]: 'bg-indigo-100 text-indigo-800', + [OrderStatusEnum.IN_PRINTING]: 'bg-purple-100 text-purple-800', + [OrderStatusEnum.AFTER_PRINT_COVER]: 'bg-sky-100 text-sky-800', + [OrderStatusEnum.AFTER_PRINT_BOXING]: 'bg-sky-100 text-sky-800', + [OrderStatusEnum.AFTER_PRINT_CARTONING]: 'bg-sky-100 text-sky-800', + [OrderStatusEnum.READY_FOR_DELIVERY]: 'bg-teal-100 text-teal-800', + [OrderStatusEnum.DELIVERED]: 'bg-green-100 text-green-800', + [OrderStatusEnum.FINISHED]: 'bg-green-100 text-green-800', + [OrderStatusEnum.CANCELED]: 'bg-red-100 text-red-800', +} + +export const getOrderStatusLabel = (status: string) => + orderStatusLabels[status as OrderStatusEnum] ?? status + +export const getOrderStatusBadgeClass = (status: string) => + orderStatusBadgeClass[status as OrderStatusEnum] ?? 'bg-gray-100 text-gray-800'