Files
dify/web/app/components/plugins/plugin-auth/authorized-in-data-source-node.tsx
Stephen Zhou b9fde89781 refactor(web): migrate i18n to selector optimize mode (#38657)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-07-10 09:35:31 +00:00

44 lines
1.1 KiB
TypeScript

import { Button } from '@langgenius/dify-ui/button'
import { cn } from '@langgenius/dify-ui/cn'
import { StatusDot } from '@langgenius/dify-ui/status-dot'
import { RiEqualizer2Line } from '@remixicon/react'
import {
memo,
} from 'react'
import { useTranslation } from 'react-i18next'
type AuthorizedInDataSourceNodeProps = {
authorizationsNum: number
onJumpToDataSourcePage: () => void
}
const AuthorizedInDataSourceNode = ({
authorizationsNum,
onJumpToDataSourcePage,
}: AuthorizedInDataSourceNodeProps) => {
const { t } = useTranslation()
return (
<Button
size="small"
onClick={onJumpToDataSourcePage}
>
<StatusDot
className="mr-1.5"
status="success"
/>
{
authorizationsNum > 1
? t($ => $['auth.authorizations'], { ns: 'plugin' })
: t($ => $['auth.authorization'], { ns: 'plugin' })
}
<RiEqualizer2Line
className={cn(
'size-3.5 text-components-button-ghost-text',
)}
/>
</Button>
)
}
export default memo(AuthorizedInDataSourceNode)