Files
AthenaFE/components/features/admins/AdminAccountsTableControls.tsx
2025-11-02 10:08:56 +01:00

44 lines
1.1 KiB
TypeScript

import { TableControls } from "@/components/shared/TableControls";
import { AdminControls } from "@/components/features/admins/AdminControls";
interface AdminTableControlsProps {
searchQuery: string;
menuVisible: boolean;
menuAnchor: { x: number; y: number };
onSearch: (query: string) => void;
onMenuDismiss: () => void;
onItemsPerPageChange: (value: number) => void;
onAddAdmin?: () => void;
itemsPerPage?: number;
}
export const AdminAccountsTableControls = ({
searchQuery,
menuVisible,
menuAnchor,
onSearch,
onMenuDismiss,
onItemsPerPageChange,
onAddAdmin = () => {},
itemsPerPage = 25,
}: AdminTableControlsProps) => {
const renderActionButtons = () => {
return <AdminControls onAddAdmin={onAddAdmin} />;
};
return (
<TableControls
searchQuery={searchQuery}
menuVisible={menuVisible}
menuAnchor={menuAnchor}
searchPlaceholder="Search admins"
onSearch={onSearch}
onMenuDismiss={onMenuDismiss}
onItemsPerPageChange={onItemsPerPageChange}
itemsPerPage={itemsPerPage}
renderActionButtons={renderActionButtons}
itemsPerPageMenuOptions={[5, 10, 25]}
/>
);
};