diff --git a/src/app/profile/orders/components/OrderItem.tsx b/src/app/profile/orders/components/OrderItem.tsx index 9fea6d2..c589398 100644 --- a/src/app/profile/orders/components/OrderItem.tsx +++ b/src/app/profile/orders/components/OrderItem.tsx @@ -26,7 +26,7 @@ const OrderItem: React.FC = ({ order, getStatusText }) => {
- وضعیت سفارش : {getStatusText(order.status || 'pending')} + وضعیت سفارش : {getStatusText(order.orderStatus)}
تاریخ ثبت سفارش: {moment(order.payment?.createdAt, 'jYYYY/jMM/jDD HH:mm:ss').format('jYYYY-jMM-jDD')} diff --git a/src/app/profile/orders/components/OrderTabs.tsx b/src/app/profile/orders/components/OrderTabs.tsx index 5eda0ba..27717c0 100644 --- a/src/app/profile/orders/components/OrderTabs.tsx +++ b/src/app/profile/orders/components/OrderTabs.tsx @@ -2,24 +2,26 @@ import React from 'react' interface Tab { - key: 'Processing' | 'Delivered' | 'Cancelled' | 'Returned' + key: 'Processing' | 'Delivered' | 'Cancelled' | 'Returned' | '' label: string count: number } interface OrderTabsProps { - activeTab: 'Processing' | 'Delivered' | 'Cancelled' | 'Returned' - setActiveTab: (tab: 'Processing' | 'Delivered' | 'Cancelled' | 'Returned') => void + activeTab: 'Processing' | 'Delivered' | 'Cancelled' | 'Returned' | '' + setActiveTab: (tab: 'Processing' | 'Delivered' | 'Cancelled' | 'Returned' | '') => void tabCounts: { current: number delivered: number returned: number cancelled: number + all: number } } const OrderTabs: React.FC = ({ activeTab, setActiveTab, tabCounts }) => { const tabs: Tab[] = [ + { key: '', label: 'همه', count: tabCounts.all }, { key: 'Processing', label: 'جاری', count: tabCounts.current }, { key: 'Delivered', label: 'تحویل شده', count: tabCounts.delivered }, { key: 'Returned', label: 'مرجوع شده', count: tabCounts.returned }, diff --git a/src/app/profile/orders/hooks/useOrdersData.ts b/src/app/profile/orders/hooks/useOrdersData.ts index 839a4ce..9d7a8c4 100644 --- a/src/app/profile/orders/hooks/useOrdersData.ts +++ b/src/app/profile/orders/hooks/useOrdersData.ts @@ -6,7 +6,7 @@ export const useGetOrders = (activeTab: string) => { return useQuery({ queryKey: ["orders", activeTab], queryFn: () => api.getOrders(activeTab), - enabled: !!activeTab, + enabled: activeTab !== undefined, }); }; diff --git a/src/app/profile/orders/page.tsx b/src/app/profile/orders/page.tsx index 82341db..26e51c2 100644 --- a/src/app/profile/orders/page.tsx +++ b/src/app/profile/orders/page.tsx @@ -4,7 +4,7 @@ import { NextPage } from 'next' import React, { useState } from 'react' import Menu from '../components/Menu' import { useGetOrders, useGetReturnOrder } from './hooks/useOrdersData' -import { Order, ReturnOrder } from './types/Types' +import { Order, ReturnOrder, OrdersStatus } from './types/Types' import OrderTabs from './components/OrderTabs' import OrderItem from './components/OrderItem' import ReturnOrderItem from './components/ReturnOrderItem' @@ -12,21 +12,21 @@ import ReturnOrderItem from './components/ReturnOrderItem' const Orders: NextPage = () => { - const [activeTab, setActiveTab] = useState<'Processing' | 'Delivered' | 'Cancelled' | 'Returned'>('Processing') + const [activeTab, setActiveTab] = useState<'Processing' | 'Delivered' | 'Cancelled' | 'Returned' | ''>('') const { data: ordersData } = useGetOrders(activeTab); const { data: returnOrderData } = useGetReturnOrder(); // تابع تبدیل وضعیت به فارسی const getStatusText = (status: string) => { const statusMap: { [key: string]: string } = { - 'pending': 'در انتظار پرداخت', - 'processing': 'در حال پردازش', - 'shipped': 'در حال ارسال', - 'delivered': 'تحویل شده', - 'returned': 'مرجوع شده', - 'cancelled': 'لغو شده' + [OrdersStatus.wait_payment]: 'در انتظار پرداخت', + [OrdersStatus.process_by_seller]: 'در حال پردازش', + [OrdersStatus.shipped]: 'در حال ارسال', + [OrdersStatus.Delivered]: 'تحویل شده', + [OrdersStatus.Cancelled]: 'لغو شده', + [OrdersStatus.cancelled_system]: 'لغو شده توسط سیستم' }; - return statusMap[status.toLowerCase()] || status; + return statusMap[status] || status; }; console.log('ordersData', ordersData); @@ -42,6 +42,7 @@ const Orders: NextPage = () => { activeTab={activeTab} setActiveTab={setActiveTab} tabCounts={{ + all: 0, cancelled: ordersData?.results?.userOrderCount.cancelled || 0, current: ordersData?.results?.userOrderCount.processing || 0, delivered: ordersData?.results?.userOrderCount.delivered || 0, @@ -52,7 +53,6 @@ const Orders: NextPage = () => { {/* Orders List */}
{activeTab === 'Returned' ? ( - // نمایش سفارشات مرجوعی returnOrderData?.results?.returnOrders?.map((order: ReturnOrder) => ( { /> )) ) : ( - // نمایش سفارشات عادی ordersData?.results?.orders?.map((order: Order) => (