import type { DataSourceCredential } from './types' import { Button } from '@langgenius/dify-ui/button' import { Input } from '@langgenius/dify-ui/input' import { StatusDot } from '@langgenius/dify-ui/status-dot' import { memo, useState } from 'react' import { useTranslation } from 'react-i18next' import Operator from './operator' type ItemProps = { credentialItem: DataSourceCredential onAction: ( action: string, credentialItem: DataSourceCredential, renamePayload?: { credential_id: string; name: string }, ) => void canUseCredential?: boolean canManageCredential?: boolean } const Item = ({ credentialItem, onAction, canUseCredential = false, canManageCredential = false, }: ItemProps) => { const { t } = useTranslation() const [renaming, setRenaming] = useState(false) const [renameValue, setRenameValue] = useState(credentialItem.name) return (
{renaming && (
setRenameValue(e.target.value)} placeholder={t(($) => $['placeholder.input'], { ns: 'common' })} onClick={(e) => e.stopPropagation()} />
)} {!renaming && ( <>
{credentialItem.name}
{credentialItem.is_default && (
{t(($) => $['auth.default'], { ns: 'plugin' })}
)} )} {!renaming && ( <>
{t(($) => $['dataSource.notion.connected'], { ns: 'common' })}
setRenaming(true)} canUseCredential={canUseCredential} canManageCredential={canManageCredential} /> )}
) } export default memo(Item)