Unverified Commit 5e145c1c authored by Joel's avatar Joel Committed by GitHub

chore: show credit help link (#2393)

parent 714ff3c6
...@@ -98,6 +98,7 @@ export type CredentialFormSchemaBase = { ...@@ -98,6 +98,7 @@ export type CredentialFormSchemaBase = {
default?: string default?: string
tooltip?: TypeWithI18N tooltip?: TypeWithI18N
show_on: FormShowOnObject[] show_on: FormShowOnObject[]
url?: string
} }
export type CredentialFormSchemaTextInput = CredentialFormSchemaBase & { max_length?: number; placeholder?: TypeWithI18N } export type CredentialFormSchemaTextInput = CredentialFormSchemaBase & { max_length?: number; placeholder?: TypeWithI18N }
......
...@@ -28,6 +28,7 @@ type FormProps = { ...@@ -28,6 +28,7 @@ type FormProps = {
readonly?: boolean readonly?: boolean
inputClassName?: string inputClassName?: string
isShowDefaultValue?: boolean isShowDefaultValue?: boolean
fieldMoreInfo?: (payload: CredentialFormSchema) => JSX.Element | null
} }
const Form: FC<FormProps> = ({ const Form: FC<FormProps> = ({
...@@ -41,6 +42,7 @@ const Form: FC<FormProps> = ({ ...@@ -41,6 +42,7 @@ const Form: FC<FormProps> = ({
readonly, readonly,
inputClassName, inputClassName,
isShowDefaultValue = false, isShowDefaultValue = false,
fieldMoreInfo,
}) => { }) => {
const language = useLanguage() const language = useLanguage()
const [changeKey, setChangeKey] = useState('') const [changeKey, setChangeKey] = useState('')
...@@ -106,6 +108,7 @@ const Form: FC<FormProps> = ({ ...@@ -106,6 +108,7 @@ const Form: FC<FormProps> = ({
type={formSchema.type === FormTypeEnum.textNumber ? 'number' : 'text'} type={formSchema.type === FormTypeEnum.textNumber ? 'number' : 'text'}
{...(formSchema.type === FormTypeEnum.textNumber ? { min: (formSchema as CredentialFormSchemaNumberInput).min, max: (formSchema as CredentialFormSchemaNumberInput).max } : {})} {...(formSchema.type === FormTypeEnum.textNumber ? { min: (formSchema as CredentialFormSchemaNumberInput).min, max: (formSchema as CredentialFormSchemaNumberInput).max } : {})}
/> />
{fieldMoreInfo?.(formSchema)}
{validating && changeKey === variable && <ValidatingTip />} {validating && changeKey === variable && <ValidatingTip />}
</div> </div>
) )
...@@ -162,6 +165,7 @@ const Form: FC<FormProps> = ({ ...@@ -162,6 +165,7 @@ const Form: FC<FormProps> = ({
)) ))
} }
</div> </div>
{fieldMoreInfo?.(formSchema)}
{validating && changeKey === variable && <ValidatingTip />} {validating && changeKey === variable && <ValidatingTip />}
</div> </div>
) )
...@@ -205,6 +209,7 @@ const Form: FC<FormProps> = ({ ...@@ -205,6 +209,7 @@ const Form: FC<FormProps> = ({
onSelect={item => handleFormChange(variable, item.value as string)} onSelect={item => handleFormChange(variable, item.value as string)}
placeholder={placeholder?.[language]} placeholder={placeholder?.[language]}
/> />
{fieldMoreInfo?.(formSchema)}
{validating && changeKey === variable && <ValidatingTip />} {validating && changeKey === variable && <ValidatingTip />}
</div> </div>
) )
......
...@@ -10,6 +10,7 @@ import Button from '@/app/components/base/button' ...@@ -10,6 +10,7 @@ import Button from '@/app/components/base/button'
import { fetchBuiltInToolCredentialSchema } from '@/service/tools' import { fetchBuiltInToolCredentialSchema } from '@/service/tools'
import Loading from '@/app/components/base/loading' import Loading from '@/app/components/base/loading'
import Form from '@/app/components/header/account-setting/model-provider-page/model-modal/Form' import Form from '@/app/components/header/account-setting/model-provider-page/model-modal/Form'
import { LinkExternal02 } from '@/app/components/base/icons/src/vender/line/general'
type Props = { type Props = {
collection: Collection collection: Collection
...@@ -62,6 +63,16 @@ const ConfigCredential: FC<Props> = ({ ...@@ -62,6 +63,16 @@ const ConfigCredential: FC<Props> = ({
showOnVariableMap={{}} showOnVariableMap={{}}
validating={false} validating={false}
inputClassName='!bg-gray-50' inputClassName='!bg-gray-50'
fieldMoreInfo={item => item.url
? (<a
href={item.url}
target='_blank' rel='noopener noreferrer'
className='inline-flex items-center text-xs text-primary-600'
>
{t('tools.howToGet')}
<LinkExternal02 className='ml-1 w-3 h-3' />
</a>)
: null}
/> />
<div className={cn(collection.is_team_authorization ? 'justify-between' : 'justify-end', 'mt-2 flex ')} > <div className={cn(collection.is_team_authorization ? 'justify-between' : 'justify-end', 'mt-2 flex ')} >
{ {
......
...@@ -98,6 +98,7 @@ const translation = { ...@@ -98,6 +98,7 @@ const translation = {
builtInPromptTitle: 'Prompt', builtInPromptTitle: 'Prompt',
toolRemoved: 'Tool removed', toolRemoved: 'Tool removed',
notAuthorized: 'Tool not authorized', notAuthorized: 'Tool not authorized',
howToGet: 'How to get',
} }
export default translation export default translation
...@@ -97,6 +97,7 @@ const translation = { ...@@ -97,6 +97,7 @@ const translation = {
}, },
builtInPromptTitle: 'Prompt', builtInPromptTitle: 'Prompt',
toolRemoved: 'Ferramenta removida', toolRemoved: 'Ferramenta removida',
howToGet: 'Como conseguir',
} }
export default translation export default translation
...@@ -90,6 +90,7 @@ const translation = { ...@@ -90,6 +90,7 @@ const translation = {
builtInPromptTitle: '提示词', builtInPromptTitle: '提示词',
toolRemoved: '工具已被移除', toolRemoved: '工具已被移除',
notAuthorized: '工具未授权', notAuthorized: '工具未授权',
howToGet: '如何获取',
} }
export default translation export default translation
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment