Files
ocs-portal-web/lib/price-plan/constant/index.tsx
2025-04-15 13:56:54 +07:00

65 lines
2.3 KiB
TypeScript

import { ColumnDef, Row } from "@tanstack/react-table"
import { Eye, Pencil, Trash2 } from "lucide-react"
import PricePlanModel from "../model/price-plan-model"
import { useRouter } from "next/navigation"
export interface PricePlan {
name: string
type: string
code: string
validPeriod: string
}
interface Props {
onClickDelete: (id: string) => void
}
export default function PricePlanColumns({
onClickDelete
}: Props): ColumnDef<PricePlanModel>[] {
const router = useRouter()
// const setFields = priceplandeta
const onNavigate = (row: Row<PricePlanModel>) => {
router.push(`/main/price-plan/${row.original.getId()}`)
// setFields({
// pricplanId: row.original.getId(),
// name: row.original.getName(),
// version: row.original.getValidPeriod()
// })
}
return [
{
accessorKey: "name",
header: () => <div className="text-left">Price Plan Name</div>,
cell: ({ row }) => <div className="text-[#0096A6]">{row.getValue("name")}</div>,
},
{
accessorKey: "type",
header: () => <div className="text-left">Price Plan Type</div>,
cell: ({ row }) => <div>{row.getValue("type")}</div>,
},
{
accessorKey: "code",
header: () => <div className="text-left">Price Plan Code</div>,
cell: ({ row }) => <div>{row.getValue("code")}</div>,
},
{
accessorKey: "validPeriod",
header: () => <div className="text-left">Valid Period</div>,
cell: ({ row }) => <div>{row.getValue("validPeriod")}</div>,
},
{
id: "operations",
header: () => <div className="text-left">Action</div>,
cell: ({row}) => {
const id = row.original.getId()
return <div className="flex items-center gap-4">
<Eye size={18} className="text-[#36587A] cursor-pointer" onClick={() => onNavigate(row)}/>
<Pencil size={18} className="text-[#36587A] cursor-pointer" />
<Trash2 size={18} className="text-[#E46A56] cursor-pointer" onClick={() => onClickDelete(id)} />
</div>
},
},
]
}