detail product fix status text

This commit is contained in:
hamid zarghami
2025-11-06 10:16:09 +03:30
parent e50206bca4
commit bcb6472a60
4 changed files with 21 additions and 26 deletions
@@ -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>
+2 -11
View File
@@ -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>
+3 -12
View File
@@ -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'>
+13
View File
@@ -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;
};