This commit is contained in:
Kirill
2026-05-24 13:43:23 +05:00
parent 75841342c6
commit 2fe426b70a
17 changed files with 425 additions and 82 deletions
@@ -0,0 +1,67 @@
export type StatusColor = 'warning' | 'success' | 'info' | 'error'
export type StatusIconName = 'banknote' | 'check-circle' | 'package-search' | 'package' | 'package-check' | 'store' | 'x-circle'
export interface OrderStatusData {
code: string
label: string
iconName: StatusIconName
color: StatusColor
description: string
}
export const ORDER_STATUS_DATA: ReadonlyArray<OrderStatusData> = [
{
code: 'PENDING_PAYMENT',
label: 'Ожидает оплаты',
iconName: 'banknote',
color: 'warning',
description:
'Заказ оформлен и подтверждён администратором. Оплатите онлайн через ЮKassa или дождитесь получения (для самовывоза с оплатой при получении).',
},
{
code: 'PAID',
label: 'Оплачен',
iconName: 'check-circle',
color: 'success',
description: 'Оплата получена. Админ скоро возьмёт заказ в работу.',
},
{
code: 'IN_PROGRESS',
label: 'Подготовка к отправке',
iconName: 'package-search',
color: 'info',
description: 'Админ готовит заказ к отправке или выдаче. Скоро статус обновится.',
},
{
code: 'SHIPPED',
label: 'Отправлен',
iconName: 'package',
color: 'info',
description: 'Заказ передан в службу доставки. Трек-номер для отслеживания(при наличии) будет указан в сообщении админа.',
},
{
code: 'READY_FOR_PICKUP',
label: 'Готов к получению',
iconName: 'store',
color: 'success',
description: 'Заказ готов к самовывозу. Приезжайте в согласованное время.',
},
{
code: 'DONE',
label: 'Завершён',
iconName: 'package-check',
color: 'success',
description: 'Заказ получен. Вы можете оставить отзыв в личном кабинете.',
},
{
code: 'CANCELLED',
label: 'Отменён',
iconName: 'x-circle',
color: 'error',
description: 'Заказ отменён. Если оплата была произведена, средства вернутся на карту.',
},
]
export function getOrderStatusData(code: string): OrderStatusData | undefined {
return ORDER_STATUS_DATA.find((s) => s.code === code)
}