import { FC, PropsWithChildren } from 'react'; import { useHistory } from 'react-router-dom'; import HelpIcon from '@servicetitan/anvil2/assets/icons/material/round/help.svg'; import { Chip, Flex, Tooltip as TooltipA2, Button } from '@servicetitan/anvil2'; import { ButtonAppearance } from '@servicetitan/hammer-react/dist/types/props'; import { BrandAction } from '../../../utils/interfaces'; import { BrandActionChipColor, BrandActionChipLabel } from '../../../utils/mappers'; import { ActionStatus } from '../../../enums/brands'; export const SingleActionButtonSection: FC<{ action: BrandAction; }> = ({ action }) => { const history = useHistory(); const handleClick = () => { if (action.action) { action.action(); } if (action.href) { history.push(action.href); } }; let buttonAppearance: ButtonAppearance | undefined; if (action.status === undefined) { buttonAppearance = 'primary'; } else if (!action.disabled) { buttonAppearance = 'secondary'; } return ( {action.disabled && ( {action.disableTooltipContent?.()} )} ); }; const ActionChip: FC<{ status?: ActionStatus; statusTooltip?: string }> = ({ status, statusTooltip, }) => { if (status === undefined) { return null; } const chip = ( ); return statusTooltip ? ( {chip} {statusTooltip} ) : ( chip ); }; const DisabledActionHelper: FC = ({ children }) => (