Files
dmenu-admin/src/pages/shipmentMethod/components/ShipmentMethodTableColumns.tsx
T
hamid zarghami 2479f5d1da customers list
2025-11-26 12:05:31 +03:30

83 lines
2.8 KiB
TypeScript

import type { ColumnType } from '@/components/types/TableTypes'
import type { RestaurantShipmentMethod } from '../types/Types'
import TrashWithConfrim from '@/components/TrashWithConfrim'
import { Eye } from 'iconsax-react'
import { Link } from 'react-router-dom'
import { Pages } from '@/config/Pages'
import Status from '@/components/Status'
import { formatFaNumber } from '@/helpers/func'
interface GetShipmentMethodTableColumnsParams {
onDelete?: (id: string) => void
isDeleting?: boolean
}
export const getShipmentMethodTableColumns = ({ onDelete, isDeleting }: GetShipmentMethodTableColumnsParams = {}): ColumnType<RestaurantShipmentMethod>[] => {
return [
{
key: 'title',
title: 'عنوان',
render: (item: RestaurantShipmentMethod) => {
return item.shipmentMethod?.title || '-'
}
},
{
key: 'description',
title: 'توضیحات',
render: (item: RestaurantShipmentMethod) => {
return item.shipmentMethod?.description || '-'
}
},
{
key: 'price',
title: 'قیمت',
render: (item: RestaurantShipmentMethod) => {
return item.price ? `${formatFaNumber(item.price)} تومان` : 'رایگان'
}
},
{
key: 'minOrderPrice',
title: 'حداقل قیمت سفارش',
render: (item: RestaurantShipmentMethod) => {
return item.minOrderPrice ? `${formatFaNumber(item.minOrderPrice)} تومان` : '-'
}
},
{
key: 'isActive',
title: 'وضعیت',
render: (item: RestaurantShipmentMethod) => {
return (
<Status
variant={item.isActive ? 'success' : 'error'}
label={item.isActive ? 'فعال' : 'غیرفعال'}
/>
)
}
},
{
key: 'actions',
title: '',
render: (item: RestaurantShipmentMethod) => {
return (
<div className='flex gap-2 items-center'>
<Link to={Pages.shipment_methods.update + item.id}>
<Eye
size={20}
color='#8C90A3'
className='cursor-pointer'
/>
</Link>
{onDelete && (
<TrashWithConfrim
onDelete={() => onDelete(item.id)}
isloading={isDeleting}
/>
)}
</div>
)
}
},
]
}