import { useState } from "react"; import { Divider, IconButton, Menu } from "react-native-paper"; import ConfirmDialog from "./ConfirmDialog"; export default function ListMenu({ onEdit, onCopy, onClear, onDelete, onSelect, ids, }: { onEdit: () => void; onCopy: () => void; onClear: () => void; onDelete: () => void; onSelect: () => void; ids?: number[]; }) { const [showMenu, setShowMenu] = useState(false); const [showRemove, setShowRemove] = useState(false); const edit = () => { setShowMenu(false); onEdit(); }; const copy = () => { setShowMenu(false); onCopy(); }; const clear = () => { setShowMenu(false); onClear(); }; const remove = () => { setShowMenu(false); setShowRemove(false); onDelete(); }; const select = () => { onSelect(); }; return ( setShowMenu(false)} anchor={ setShowMenu(true)} icon="more-vert" />} > setShowRemove(true)} title="Delete" /> setShowMenu(false)} > {ids?.length === 0 ? ( <>This irreversibly deletes records from the app. Are you sure? ) : ( <>This will delete {ids?.length} record(s). Are you sure? )} ); }