gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/features/admins/components/tables/admins/index.tsx · v0.5.2
Source
1 4708fcb Dawsh 2y ago import type { FC } from "react";
2 d0daa61 Mardin 2y ago import { fetchAdmins, AdminType, AdminsQueryFetchKey } from "@marzneshin/features/admins";
3 d0daa61 Mardin 2y ago import { columns as columnsFn } from "./columns";
4 4708fcb Dawsh 2y ago import { EntityTable } from "@marzneshin/features/entity-table";
5 4708fcb Dawsh 2y ago import { useNavigate } from "@tanstack/react-router";
6 4708fcb Dawsh 2y ago
7 4708fcb Dawsh 2y ago export const AdminsTable: FC = () => {
8 4708fcb Dawsh 2y ago const navigate = useNavigate({ from: "/admins" });
9 d0daa61 Mardin 2y ago const onOpen = (entity: AdminType) => {
10 d0daa61 Mardin 2y ago navigate({
11 d0daa61 Mardin 2y ago to: "/admins/$adminId",
12 d0daa61 Mardin 2y ago params: { adminId: entity.username },
13 d0daa61 Mardin 2y ago })
14 d0daa61 Mardin 2y ago }
15 d0daa61 Mardin 2y ago
16 d0daa61 Mardin 2y ago const onEdit = (entity: AdminType) => {
17 d0daa61 Mardin 2y ago navigate({
18 d0daa61 Mardin 2y ago to: "/admins/$adminId/edit",
19 d0daa61 Mardin 2y ago params: { adminId: entity.username },
20 d0daa61 Mardin 2y ago })
21 d0daa61 Mardin 2y ago }
22 d0daa61 Mardin 2y ago
23 d0daa61 Mardin 2y ago const onDelete = (entity: AdminType) => {
24 d0daa61 Mardin 2y ago navigate({
25 d0daa61 Mardin 2y ago to: "/admins/$adminId/delete",
26 d0daa61 Mardin 2y ago params: { adminId: entity.username },
27 d0daa61 Mardin 2y ago })
28 d0daa61 Mardin 2y ago }
29 d0daa61 Mardin 2y ago
30 d0daa61 Mardin 2y ago const columns = columnsFn({ onEdit, onDelete, onOpen });
31 d0daa61 Mardin 2y ago
32 4708fcb Dawsh 2y ago return (
33 4708fcb Dawsh 2y ago <EntityTable
34 4708fcb Dawsh 2y ago fetchEntity={fetchAdmins}
35 4708fcb Dawsh 2y ago manualSorting={false}
36 d0daa61 Mardin 2y ago columns={columns}
37 4708fcb Dawsh 2y ago filteredColumn="username"
38 4708fcb Dawsh 2y ago entityKey={AdminsQueryFetchKey}
39 4708fcb Dawsh 2y ago onCreate={() => navigate({ to: "/admins/create" })}
40 d0daa61 Mardin 2y ago onOpen={onOpen}
41 4708fcb Dawsh 2y ago />
42 4708fcb Dawsh 2y ago );
43 4708fcb Dawsh 2y ago };