feat: add members kyc page

This commit is contained in:
Wikzyy
2025-02-24 10:48:09 +07:00
parent 6b37f3a2d0
commit d55823b7b3
9 changed files with 261 additions and 2 deletions

View File

@ -1,119 +0,0 @@
import { Button } from '@/components/ui/button';
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuLabel,
DropdownMenuTrigger
} from '@/components/ui/dropdown-menu';
import { ColumnDef } from '@tanstack/react-table';
import { ArrowUpDown, MoreHorizontal } from 'lucide-react';
export type Members = {
id: number;
username: number;
name: string;
group: string;
email: string;
createdDate: Date;
};
export const columns: ColumnDef<Members>[] = [
{
accessorKey: 'id',
header: ({ column }) => {
return (
<Button
variant="ghost"
onClick={() => column.toggleSorting(column.getIsSorted() === 'asc')}
>
ID
<ArrowUpDown className="ml-2 h-4 w-4" />
</Button>
);
}
},
{
accessorKey: 'username',
header: ({ column }) => {
return (
<Button
variant="ghost"
onClick={() => column.toggleSorting(column.getIsSorted() === 'asc')}
>
Username
<ArrowUpDown className="ml-2 h-4 w-4" />
</Button>
);
}
},
{
accessorKey: 'name',
header: ({ column }) => {
return (
<Button
variant="ghost"
onClick={() => column.toggleSorting(column.getIsSorted() === 'asc')}
>
Name
<ArrowUpDown className="ml-2 h-4 w-4" />
</Button>
);
}
},
{
accessorKey: 'email',
header: ({ column }) => {
return (
<Button
variant="ghost"
onClick={() => column.toggleSorting(column.getIsSorted() === 'asc')}
>
Email
<ArrowUpDown className="ml-2 h-4 w-4" />
</Button>
);
}
},
{
accessorKey: 'createdDate',
header: ({ column }) => {
return (
<Button
variant="ghost"
onClick={() => column.toggleSorting(column.getIsSorted() === 'asc')}
>
Created Date
<ArrowUpDown className="ml-2 h-4 w-4" />
</Button>
);
},
cell: ({ row }) => new Date(row.original.createdDate).toLocaleDateString()
},
{
id: 'actions',
cell: ({ row }) => {
const dataMembers = row.original;
return (
<DropdownMenu>
<DropdownMenuTrigger asChild>
<Button variant="ghost" className="h-8 w-8 p-0">
<span className="sr-only">Open menu</span>
<MoreHorizontal className="h-4 w-4" />
</Button>
</DropdownMenuTrigger>
<DropdownMenuContent align="end">
<DropdownMenuLabel>Actions</DropdownMenuLabel>
<DropdownMenuItem
onClick={() => navigator.clipboard.writeText(dataMembers.id.toString())}
>
Copy account ID
</DropdownMenuItem>
{/* <DropdownMenuSeparator /> */}
</DropdownMenuContent>
</DropdownMenu>
);
}
}
];

View File

@ -1,42 +0,0 @@
import { DataTable } from '@/components/ui/DataTable';
import { columns, Members } from './Columns';
const dataMembers: Members[] = [
{
id: 37026,
username: 67076807158,
name: 'Jumentino Carlos Luis da Costa',
group: 'REGULER',
email: 'Jumentinocldacoata@gmail.com',
createdDate: new Date('2025-02-21')
},
{
id: 37027,
username: 67071827345,
name: 'Diego Costa',
group: 'REGULER',
email: 'DiegoCosta@gmail.com',
createdDate: new Date('2025-02-21')
},
{
id: 37028,
username: 56123764212,
name: 'Luis Da Vista',
group: 'SUPERVISOR',
email: 'LuisdaVista@gmail.com',
createdDate: new Date('2024-01-21')
}
];
const ManageMembers = () => {
return (
<div>
<div className="container mx-auto p-5">
<h1 className="text-xl font-medium leading-none text-gray-900">Manage Members</h1>
<DataTable data={dataMembers} columns={columns} />
</div>
</div>
);
};
export default ManageMembers;