detail product fix status text
This commit is contained in:
@@ -6,14 +6,14 @@ import { OrderItemDetail } from '../../types/Types'
|
|||||||
interface OrderMainContentProps {
|
interface OrderMainContentProps {
|
||||||
orderItems: OrderItemDetail[]
|
orderItems: OrderItemDetail[]
|
||||||
orderId: string
|
orderId: string
|
||||||
getStatusText: (status: string) => string
|
statusText: string
|
||||||
onCancelClick: () => void
|
onCancelClick: () => void
|
||||||
}
|
}
|
||||||
|
|
||||||
const OrderMainContent: React.FC<OrderMainContentProps> = ({
|
const OrderMainContent: React.FC<OrderMainContentProps> = ({
|
||||||
orderItems,
|
orderItems,
|
||||||
orderId,
|
orderId,
|
||||||
getStatusText,
|
statusText,
|
||||||
onCancelClick
|
onCancelClick
|
||||||
}) => {
|
}) => {
|
||||||
// محاسبه تعداد مرسوله (length of orderItems)
|
// محاسبه تعداد مرسوله (length of orderItems)
|
||||||
@@ -46,7 +46,7 @@ const OrderMainContent: React.FC<OrderMainContentProps> = ({
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className='text-primary font-semibold'>
|
<div className='text-primary font-semibold'>
|
||||||
{firstOrderItem ? getStatusText(firstOrderItem.status) : ''}
|
{statusText}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import CancelOrderModal from './components/CancelOrderModal'
|
|||||||
import { useCancelOrder, useGetOrderDetail } from '../hooks/useOrdersData'
|
import { useCancelOrder, useGetOrderDetail } from '../hooks/useOrdersData'
|
||||||
import { toast } from '@/components/Toast'
|
import { toast } from '@/components/Toast'
|
||||||
import { PRIMARY_COLOR } from '@/config/const'
|
import { PRIMARY_COLOR } from '@/config/const'
|
||||||
|
import { getStatusText } from '@/config/func'
|
||||||
|
|
||||||
|
|
||||||
const OrderDetail: FC = () => {
|
const OrderDetail: FC = () => {
|
||||||
@@ -20,16 +21,6 @@ const OrderDetail: FC = () => {
|
|||||||
const cancelOrderMutation = useCancelOrder()
|
const cancelOrderMutation = useCancelOrder()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
|
||||||
const getStatusText = (status: string) => {
|
|
||||||
const statusMap: Record<string, string> = {
|
|
||||||
'processing': 'در حال پردازش',
|
|
||||||
'shipped': 'ارسال شده',
|
|
||||||
'delivered': 'تحویل داده شده',
|
|
||||||
'cancelled': 'لغو شده'
|
|
||||||
}
|
|
||||||
return statusMap[status] || status
|
|
||||||
}
|
|
||||||
|
|
||||||
const onSubmit = async (cancelData: { reason: string; count: string; description: string }) => {
|
const onSubmit = async (cancelData: { reason: string; count: string; description: string }) => {
|
||||||
try {
|
try {
|
||||||
// Prepare cancel items from all order items
|
// Prepare cancel items from all order items
|
||||||
@@ -104,7 +95,7 @@ const OrderDetail: FC = () => {
|
|||||||
<OrderMainContent
|
<OrderMainContent
|
||||||
orderItems={orderDetail.results.order.orderItems}
|
orderItems={orderDetail.results.order.orderItems}
|
||||||
orderId={orderDetail.results.order._id.toString()}
|
orderId={orderDetail.results.order._id.toString()}
|
||||||
getStatusText={getStatusText}
|
statusText={getStatusText(orderDetail?.results?.order?.orderStatus)}
|
||||||
onCancelClick={() => setShowModalCancel(true)}
|
onCancelClick={() => setShowModalCancel(true)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -4,10 +4,11 @@ import { NextPage } from 'next'
|
|||||||
import React, { useState } from 'react'
|
import React, { useState } from 'react'
|
||||||
import Menu from '../components/Menu'
|
import Menu from '../components/Menu'
|
||||||
import { useGetOrders, useGetReturnOrder } from './hooks/useOrdersData'
|
import { useGetOrders, useGetReturnOrder } from './hooks/useOrdersData'
|
||||||
import { Order, ReturnOrder, OrdersStatus } from './types/Types'
|
import { Order, ReturnOrder } from './types/Types'
|
||||||
import OrderTabs from './components/OrderTabs'
|
import OrderTabs from './components/OrderTabs'
|
||||||
import OrderItem from './components/OrderItem'
|
import OrderItem from './components/OrderItem'
|
||||||
import ReturnOrderItem from './components/ReturnOrderItem'
|
import ReturnOrderItem from './components/ReturnOrderItem'
|
||||||
|
import { getStatusText } from '@/config/func'
|
||||||
|
|
||||||
|
|
||||||
const Orders: NextPage = () => {
|
const Orders: NextPage = () => {
|
||||||
@@ -17,17 +18,7 @@ const Orders: NextPage = () => {
|
|||||||
const { data: returnOrderData } = useGetReturnOrder();
|
const { data: returnOrderData } = useGetReturnOrder();
|
||||||
|
|
||||||
// تابع تبدیل وضعیت به فارسی
|
// تابع تبدیل وضعیت به فارسی
|
||||||
const getStatusText = (status: string) => {
|
|
||||||
const statusMap: { [key: string]: string } = {
|
|
||||||
[OrdersStatus.wait_payment]: 'در انتظار پرداخت',
|
|
||||||
[OrdersStatus.process_by_seller]: 'در حال پردازش',
|
|
||||||
[OrdersStatus.shipped]: 'در حال ارسال',
|
|
||||||
[OrdersStatus.Delivered]: 'تحویل شده',
|
|
||||||
[OrdersStatus.Cancelled]: 'لغو شده',
|
|
||||||
[OrdersStatus.cancelled_system]: 'لغو شده توسط سیستم'
|
|
||||||
};
|
|
||||||
return statusMap[status] || status;
|
|
||||||
};
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='p-3 sm:p-4 md:p-6'>
|
<div className='p-3 sm:p-4 md:p-6'>
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import { OrdersStatus } from "@/app/profile/orders/types/Types";
|
||||||
import { TOKEN_NAME, REFRESH_TOKEN_NAME } from "./const";
|
import { TOKEN_NAME, REFRESH_TOKEN_NAME } from "./const";
|
||||||
|
|
||||||
export function isEmail(input: string): boolean {
|
export function isEmail(input: string): boolean {
|
||||||
@@ -156,3 +157,15 @@ export function limitHtmlWords(htmlString: string, wordLimit: number): string {
|
|||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const getStatusText = (status: string) => {
|
||||||
|
const statusMap: { [key: string]: string } = {
|
||||||
|
[OrdersStatus.wait_payment]: "در انتظار پرداخت",
|
||||||
|
[OrdersStatus.process_by_seller]: "در حال پردازش",
|
||||||
|
[OrdersStatus.shipped]: "در حال ارسال",
|
||||||
|
[OrdersStatus.Delivered]: "تحویل شده",
|
||||||
|
[OrdersStatus.Cancelled]: "لغو شده",
|
||||||
|
[OrdersStatus.cancelled_system]: "لغو شده توسط سیستم",
|
||||||
|
};
|
||||||
|
return statusMap[status] || status;
|
||||||
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user