1import { ColumnDef } from "@tanstack/react-table"
2import { DataTableColumnHeader } from "@marzneshin/features/entity-table"
3import i18n from "@marzneshin/features/i18n"
4import {
5 UserType,
6 UserActivatedPill,
7 UserUsedTraffic,
8 UserExpirationValue,
9 userTrafficSortingFn,
10} from "@marzneshin/modules/users"
11
12export const columns: ColumnDef<UserType>[] = [
13 {
14 accessorKey: "username",
15 header: ({ column }) => <DataTableColumnHeader title={i18n.t('username')} column={column} />,
16 },
17 {
18 accessorKey: "activated",
19 header: ({ column }) => (
20 <DataTableColumnHeader
21 title={i18n.t("activated")}
22 column={column}
23 />
24 ),
25 cell: ({ row }) => <UserActivatedPill user={row.original} />,
26 },
27 {
28 accessorKey: "used_traffic",
29 header: ({ column }) => (
30 <DataTableColumnHeader
31 title={i18n.t("page.users.used_traffic")}
32 column={column}
33 />
34 ),
35 cell: ({ row }) => <UserUsedTraffic user={row.original} />,
36 sortingFn: (rowA, rowB) => userTrafficSortingFn(rowA.original, rowB.original)
37 },
38 {
39 accessorKey: "expire",
40 header: ({ column }) => (
41 <DataTableColumnHeader
42 title={i18n.t("page.users.expire_date")}
43 column={column}
44 />
45 ),
46 cell: ({ row }) => <UserExpirationValue user={row.original} />,
47 },
48];