gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/features/nodes/tables/columns.tsx · v0.3.0-alpha1
Source
1 b15ff05 Mrdn 2y ago import { ColumnDef } from "@tanstack/react-table"
2 b15ff05 Mrdn 2y ago import { NodesStatusBadge, NodeType, NodesStatus } from "@marzneshin/features/nodes"
3 b15ff05 Mrdn 2y ago import { DataTableColumnHeader } from "@marzneshin/components/data-table/column-header"
4 b15ff05 Mrdn 2y ago import i18n from "@marzneshin/features/i18n"
5 b15ff05 Mrdn 2y ago import { DataTableActionsCell } from "@marzneshin/components"
6 b15ff05 Mrdn 2y ago
7 b15ff05 Mrdn 2y ago interface ColumnAction {
8 b15ff05 Mrdn 2y ago onDelete: (node: NodeType) => void;
9 b15ff05 Mrdn 2y ago onOpen: (node: NodeType) => void;
10 b15ff05 Mrdn 2y ago onEdit: (node: NodeType) => void;
11 b15ff05 Mrdn 2y ago }
12 b15ff05 Mrdn 2y ago
13 b15ff05 Mrdn 2y ago
14 b15ff05 Mrdn 2y ago export const columns = (actions: ColumnAction): ColumnDef<NodeType>[] => ([
15 b15ff05 Mrdn 2y ago {
16 b15ff05 Mrdn 2y ago accessorKey: "name",
17 b15ff05 Mrdn 2y ago header: ({ column }) => <DataTableColumnHeader title={i18n.t('name')} column={column} />,
18 b15ff05 Mrdn 2y ago },
19 b15ff05 Mrdn 2y ago {
20 b15ff05 Mrdn 2y ago accessorKey: "status",
21 b15ff05 Mrdn 2y ago header: ({ column }) => <DataTableColumnHeader title={i18n.t('status')} column={column} />,
22 b15ff05 Mrdn 2y ago cell: ({ row }) => <NodesStatusBadge status={NodesStatus[row.original.status]} />,
23 b15ff05 Mrdn 2y ago },
24 b15ff05 Mrdn 2y ago {
25 b15ff05 Mrdn 2y ago accessorKey: "address",
26 b15ff05 Mrdn 2y ago header: ({ column }) => <DataTableColumnHeader title={i18n.t('address')} column={column} />,
27 b15ff05 Mrdn 2y ago cell: ({ row }) => `${row.original.address}:${row.original.port}`
28 b15ff05 Mrdn 2y ago },
29 b15ff05 Mrdn 2y ago {
30 b15ff05 Mrdn 2y ago accessorKey: "usage_coefficient",
31 b15ff05 Mrdn 2y ago header: ({ column }) => <DataTableColumnHeader title={i18n.t('page.nodes.usage_coefficient')} column={column} />,
32 b15ff05 Mrdn 2y ago },
33 b15ff05 Mrdn 2y ago {
34 b15ff05 Mrdn 2y ago id: "actions",
35 b15ff05 Mrdn 2y ago cell: ({ row }) => <DataTableActionsCell {...actions} row={row} />
36 b15ff05 Mrdn 2y ago },
37 b15ff05 Mrdn 2y ago ]);