import type { Status } from './declarations' import { useTranslation } from 'react-i18next' import Indicator from '../../indicator' type OperateProps = { isOpen: boolean status: Status disabled?: boolean onCancel: () => void onSave: () => void onAdd: () => void onEdit: () => void } const Operate = ({ isOpen, status, disabled, onCancel, onSave, onAdd, onEdit, }: OperateProps) => { const { t } = useTranslation() if (isOpen) { return (
{t('operation.cancel', { ns: 'common' })}
{t('operation.save', { ns: 'common' })}
) } if (status === 'add') { return (
!disabled && onAdd()} > {t('provider.addKey', { ns: 'common' })}
) } if (status === 'fail' || status === 'success') { return (
{ status === 'fail' && (
{t('provider.invalidApiKey', { ns: 'common' })}
) } { status === 'success' && ( ) }
!disabled && onEdit()} > {t('provider.editKey', { ns: 'common' })}
) } return null } export default Operate