import { View } from "react-native"; import { TableControls } from "@/components/shared/TableControls"; import { SelectionControls } from "@/components/features/users/SelectionControls"; import { RiskEnum, RiskLabels } from "@/constants/riskEnum"; import { CombinedFilterMenu, CombinedFilterSection, } from "@/components/shared/filters/CombinedFilterMenu"; import { SelectedFilterChips, SelectedChip, } from "@/components/shared/filters/SelectedFilterChips"; import { RiskIndicator } from "@/components/ui/RiskIndicator"; import { Button } from "@/components/ui/Button"; interface UserTableControlsProps { searchQuery: string; selectAll?: boolean; selectedItems?: string[]; menuVisible: boolean; menuAnchor: { x: number; y: number }; selectedRisks?: RiskEnum[]; onSearch: (query: string) => void; onSelectAll: () => void; onBulkDelete: () => void; onMenuDismiss: () => void; onItemsPerPageChange: (value: number) => void; onSelectRisks: (risks: RiskEnum[]) => void; itemsPerPage?: number; onAddUser: () => void; onAddingUser: boolean; } export const UserTableControls = ({ searchQuery, selectAll = false, selectedItems = [], menuVisible, menuAnchor, selectedRisks = [], onSearch, onSelectAll, onBulkDelete, onMenuDismiss, onItemsPerPageChange, onSelectRisks, itemsPerPage = 25, onAddUser, onAddingUser = false, }: UserTableControlsProps) => { const renderFilterComponent = () => { const riskOptions = Object.values(RiskEnum).map((risk) => ({ value: risk, label: RiskLabels[risk], icon: , })); const sections: CombinedFilterSection[] = []; sections.push({ key: "risk", title: "Risk", options: riskOptions, selected: selectedRisks, onChange: (values) => onSelectRisks(values as RiskEnum[]), }); return ( onSelectRisks([])} /> ); }; const renderFilterChips = () => { const chips: SelectedChip[] = selectedRisks.map((risk) => ({ key: `risk-${risk}`, label: RiskLabels[risk], onRemove: () => onSelectRisks( selectedRisks.filter((selectedFilter) => selectedFilter !== risk) ), })); return chips.length > 0 ? : null; }; const renderActionButtons = () => { return ( {onAddUser ? ( ) : null} ); }; return ( ); };