import { Icon } from '../UI'; import classes from './TableActions.module.css'; interface Entity { id: number; name: string; isPinned?: boolean; isPublic: boolean; } interface Props { entity: Entity; deleteHandler: (id: number, name: string) => void; updateHandler: (id: number) => void; pinHanlder?: (id: number) => void; changeVisibilty: (id: number) => void; showPin?: boolean; } export const TableActions = (props: Props): JSX.Element => { const { entity, deleteHandler, updateHandler, pinHanlder, changeVisibilty, showPin = true, } = props; const _pinHandler = pinHanlder || function () {}; return ( {/* DELETE */}
deleteHandler(entity.id, entity.name)} tabIndex={0} >
{/* UPDATE */}
updateHandler(entity.id)} tabIndex={0} >
{/* PIN */} {showPin && (
_pinHandler(entity.id)} tabIndex={0} > {entity.isPinned ? ( ) : ( )}
)} {/* VISIBILITY */}
changeVisibilty(entity.id)} tabIndex={0} > {entity.isPublic ? ( ) : ( )}
); };