gitscope
← marzneshin / v0.6.0 / dashboard/src/features/services/components/tables/users/columns.tsx
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/features/services/components/tables/users/columns.tsx · TypeScript
Blame Raw
 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];