import { View } from "react-native";
import { SearchBar } from "@/components/ui/SearchBar";
import { ItemsPerPageMenu } from "@/components/shared/ItemsPerPageMenu";
interface MobileTableControlsProps {
searchQuery: string;
menuVisible: boolean;
menuAnchor: { x: number; y: number };
searchPlaceholder?: string;
onSearch: (query: string) => void;
onMenuDismiss: () => void;
onItemsPerPageChange: (value: number) => void;
itemsPerPage?: number;
renderFilterComponent?: () => React.ReactNode;
renderFilterChips?: () => React.ReactNode;
renderActionButtons?: () => React.ReactNode;
itemsPerPageMenuOptions?: number[];
}
export const MobileTableControls = ({
searchQuery,
menuVisible,
menuAnchor,
searchPlaceholder = "Search",
onSearch,
onMenuDismiss,
onItemsPerPageChange,
itemsPerPage = 25,
renderFilterComponent,
renderFilterChips,
renderActionButtons,
itemsPerPageMenuOptions,
}: MobileTableControlsProps) => {
return (
<>
{renderFilterComponent && (
{renderFilterComponent()}
)}
{/* Filter Chips Row */}
{renderFilterChips && {renderFilterChips()}}
{/* Action Buttons and Items Per Page Row */}
{renderActionButtons && renderActionButtons()}
>
);
};