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