gitscope
← marzneshin / v0.3.1 / dashboard/src/features/nodes/tables/table.tsx
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/features/nodes/tables/table.tsx · TypeScript
Blame Raw
 1import { FC } from "react";
 2import {
 3    columns,
 4    fetchNodes,
 5} from '@marzneshin/features/nodes';
 6import { EntityTable } from "@marzneshin/features/entity-table";
 7import { useNavigate } from "@tanstack/react-router";
 8
 9export const NodesTable: FC = () => {
10    const navigate = useNavigate({ from: "/nodes" });
11    return (
12        <EntityTable
13            fetchEntity={fetchNodes}
14            columnsFn={columns}
15            filteredColumn="name"
16            entityKey="nodes"
17            onCreate={() => navigate({ to: "/nodes/create" })}
18            onOpen={(entity) =>
19                navigate({
20                    to: "/nodes/$nodeId",
21                    params: { nodeId: String(entity.id) },
22                })
23            }
24            onEdit={(entity) =>
25                navigate({
26                    to: "/nodes/$nodeId/edit",
27                    params: { nodeId: String(entity.id) },
28                })
29            }
30            onDelete={(entity) =>
31                navigate({
32                    to: "/nodes/$nodeId/delete",
33                    params: { nodeId: String(entity.id) },
34                })
35            }
36        />
37    )
38}