import type {ButtonProps} from 'sentry/components/button'; import {Button} from 'sentry/components/button'; import {Tooltip} from 'sentry/components/tooltip'; import {t} from 'sentry/locale'; import type {IntegrationWithConfig} from 'sentry/types'; import {trackAnalytics} from 'sentry/utils/analytics'; import AddIntegration from './addIntegration'; interface AddIntegrationButtonProps extends Omit, Pick< React.ComponentProps, 'provider' | 'organization' | 'analyticsParams' | 'modalParams' > { onAddIntegration: (data: IntegrationWithConfig) => void; buttonText?: string; installStatus?: string; reinstall?: boolean; } export function AddIntegrationButton({ provider, buttonText, onAddIntegration, organization, reinstall, analyticsParams, modalParams, installStatus, ...buttonProps }: AddIntegrationButtonProps) { const label = buttonText ?? reinstall ? t('Enable') : installStatus === 'Disabled' ? t('Reinstall') : t('Add %s', provider.metadata.noun); return ( {onClick => ( )} ); }