import { FC, ReactElement, useState } from 'react'; import { FilterOutlined, SearchOutlined } from '@ant-design/icons'; import { Button, Input } from '@imphnen-frontend-service/ui/atoms'; import { Pagination } from '@imphnen-frontend-service/ui/molecules'; import { DataTable } from '@imphnen-frontend-service/ui/organisms'; // Mock data for demonstration const mockData = Array.from({ length: 20 }, (_, i) => ({ id: i + 1, name: i === 0 ? 'Ahmad Wijuana' : 'Nama Lengkap', email: 'Fullname23@gmail.com', phone: '081904423804', address: 'Jl. Pantai Cibaduyut Indonesia', })); export const Components: FC = (): ReactElement => { const [searchQuery, setSearchQuery] = useState(''); const [currentPage, setCurrentPage] = useState(1); const itemsPerPage = 9; // Filter data based on search query const filteredData = mockData.filter( (item) => item.name.toLowerCase().includes(searchQuery.toLowerCase()) || item.email.toLowerCase().includes(searchQuery.toLowerCase()) ); // Paginate data const indexOfLastItem = currentPage * itemsPerPage; const indexOfFirstItem = indexOfLastItem - itemsPerPage; const currentItems = filteredData.slice(indexOfFirstItem, indexOfLastItem); const handleEdit = (id: number) => { console.log(`Edit item with id: ${id}`); // Implement edit functionality }; const handlePageChange = (pageNumber: number) => { setCurrentPage(pageNumber); }; const handleSearch = (e: React.ChangeEvent) => { setSearchQuery(e.target.value); setCurrentPage(1); // Reset to first page when searching }; return (
{/* Dashboard Header */}

Data Akun

{/* Account Table Section */}
{/* Search and Filter */}
{/* Table */} {/* Pagination */}
); }; export default Components;