import clsx from 'clsx'; import React from 'react'; import dynamicsFont from '../../assets/DynamicsFont/DynamicsFont.scss'; import { Button } from '../Button'; import Spinner from '../Spinner'; import styles from './styles.scss'; type EntityButtonProps = { className?: string; onViewEntity?: (...args: any[]) => any; onCreateEntity?: (...args: any[]) => any; hasEntity?: boolean; isCreating?: boolean; disableLinks?: boolean; viewEntityTitle?: string; createEntityTitle?: string; }; const EntityButton: React.FC = ({ className, onViewEntity, onCreateEntity, hasEntity, isCreating, disableLinks, viewEntityTitle, createEntityTitle, }) => { // console.debug('isCreating', isCreating); const spinner = isCreating ? (
) : null; const icon = hasEntity ? dynamicsFont.record : dynamicsFont.addEntity; const onClick = hasEntity ? onViewEntity : onCreateEntity; const title = hasEntity ? viewEntityTitle : createEntityTitle; return ( ); }; EntityButton.defaultProps = { className: undefined, onViewEntity: undefined, hasEntity: false, onCreateEntity: undefined, isCreating: false, disableLinks: false, viewEntityTitle: undefined, createEntityTitle: undefined, }; export default EntityButton;