notification infiti scroll
This commit is contained in:
@@ -2,6 +2,8 @@ import type { FC } from 'react'
|
||||
import type { Order } from '../types/Types'
|
||||
import { PaymentStatusEnum } from '../enum/Enum'
|
||||
import { OrderStatus } from '../enum/Enum'
|
||||
import { DeliveryMethodEnum } from '@/pages/shipmentMethod/enum/Enum'
|
||||
import { PaymentMethodEnum } from '@/pages/paymentMethods/enum/Enum'
|
||||
import { formatPrice, formatFaNumber } from '@/helpers/func'
|
||||
|
||||
interface PaymentInfoProps {
|
||||
@@ -19,6 +21,26 @@ const PaymentInfo: FC<PaymentInfoProps> = ({
|
||||
}) => {
|
||||
const paymentStatus = order.paymentStatus || (order.status === OrderStatus.PAID ? PaymentStatusEnum.Paid : PaymentStatusEnum.Pending)
|
||||
|
||||
const getDeliveryMethodText = (method: string): string => {
|
||||
const methodMap: Record<string, string> = {
|
||||
[DeliveryMethodEnum.DineIn]: 'سرو در رستوران',
|
||||
[DeliveryMethodEnum.CustomerPickup]: 'دریافت از محل',
|
||||
[DeliveryMethodEnum.DeliveryCar]: 'تحویل به خودرو',
|
||||
[DeliveryMethodEnum.DeliveryCourier]: 'بیرون بر',
|
||||
}
|
||||
return methodMap[method] || method
|
||||
}
|
||||
|
||||
const getPaymentMethodText = (method: string): string => {
|
||||
const methodMap: Record<string, string> = {
|
||||
[PaymentMethodEnum.Cash]: 'پرداخت نقدی',
|
||||
[PaymentMethodEnum.Online]: 'پرداخت آنلاین',
|
||||
[PaymentMethodEnum.CardOnDelivery]: 'پرداخت در محل',
|
||||
[PaymentMethodEnum.Wallet]: 'کیف پول',
|
||||
}
|
||||
return methodMap[method] || method
|
||||
}
|
||||
|
||||
return (
|
||||
<div className='w-[330px] h-fit bg-white rounded-4xl p-8'>
|
||||
<div className='flex justify-between items-center'>
|
||||
@@ -37,11 +59,36 @@ const PaymentInfo: FC<PaymentInfoProps> = ({
|
||||
<div className='mt-10'>
|
||||
<div className='flex text-[13px] font-light justify-between items-center border-b border-border border-dashed pb-4'>
|
||||
<div className='text-description'>
|
||||
نوع پرداخت
|
||||
روش ارسال
|
||||
</div>
|
||||
<div>{order.paymentMethod?.description || '-'}</div>
|
||||
<div>{order.deliveryMethod ? getDeliveryMethodText(order.deliveryMethod.method) : '-'}</div>
|
||||
</div>
|
||||
|
||||
{order.deliveryMethod?.description && (
|
||||
<div className='flex mt-4 text-[13px] font-light justify-between items-center border-b border-border border-dashed pb-4'>
|
||||
<div className='text-description'>
|
||||
توضیحات روش ارسال
|
||||
</div>
|
||||
<div>{order.deliveryMethod.description}</div>
|
||||
</div>
|
||||
)}
|
||||
|
||||
<div className='flex mt-4 text-[13px] font-light justify-between items-center border-b border-border border-dashed pb-4'>
|
||||
<div className='text-description'>
|
||||
روش پرداخت
|
||||
</div>
|
||||
<div>{order.paymentMethod ? getPaymentMethodText(order.paymentMethod.method) : '-'}</div>
|
||||
</div>
|
||||
|
||||
{order.paymentMethod?.description && (
|
||||
<div className='flex mt-4 text-[13px] font-light justify-between items-center border-b border-border border-dashed pb-4'>
|
||||
<div className='text-description'>
|
||||
توضیحات روش پرداخت
|
||||
</div>
|
||||
<div>{order.paymentMethod.description}</div>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{order.paymentMethod?.gateway && (
|
||||
<div className='flex mt-4 text-[13px] font-light justify-between items-center border-b border-border border-dashed pb-4'>
|
||||
<div className='text-description'>
|
||||
|
||||
@@ -40,11 +40,11 @@ export interface OrderRestaurant {
|
||||
deletedAt: string | null;
|
||||
name: string;
|
||||
slug: string;
|
||||
logo: string;
|
||||
address: string;
|
||||
menuColor: string;
|
||||
latitude: number;
|
||||
longitude: number;
|
||||
logo: string | null;
|
||||
address: string | null;
|
||||
menuColor: string | null;
|
||||
latitude: number | null;
|
||||
longitude: number | null;
|
||||
serviceArea: ServiceArea;
|
||||
isActive: boolean;
|
||||
establishedYear: number | null;
|
||||
@@ -52,7 +52,7 @@ export interface OrderRestaurant {
|
||||
instagram: string | null;
|
||||
telegram: string | null;
|
||||
whatsapp: string | null;
|
||||
description: string;
|
||||
description: string | null;
|
||||
seoTitle: string | null;
|
||||
seoDescription: string | null;
|
||||
tagNames: string | null;
|
||||
@@ -72,8 +72,8 @@ export interface OrderDeliveryMethod {
|
||||
restaurant: string;
|
||||
deliveryFee: number;
|
||||
deliveryFeeType: string;
|
||||
kilometerNumber: number | null;
|
||||
deliveryFeeForKilometer: number | null;
|
||||
perKilometerFee: number | null;
|
||||
distanceBasedMinCost: number | null;
|
||||
minOrderPrice: number;
|
||||
description: string;
|
||||
enabled: boolean;
|
||||
@@ -124,7 +124,7 @@ export interface OrderFood {
|
||||
content: string[];
|
||||
price: number;
|
||||
order: number | null;
|
||||
prepareTime: number;
|
||||
prepareTime: number | null;
|
||||
weekDays: number[];
|
||||
mealTypes: string[];
|
||||
isActive: boolean;
|
||||
|
||||
Reference in New Issue
Block a user