import { Save } from 'lucide-react'; import { useForm } from 'react-hook-form'; import { HoverCard, HoverCardTrigger } from '@librechat/client'; import { TPlugin, TPluginAuthConfig, TPluginAction } from 'librechat-data-provider'; import PluginTooltip from './PluginTooltip'; import { useLocalize } from '~/hooks'; type TPluginAuthFormProps = { plugin: TPlugin | undefined; onSubmit: (installActionData: TPluginAction) => void; isEntityTool?: boolean; }; function PluginAuthForm({ plugin, onSubmit, isEntityTool }: TPluginAuthFormProps) { const { register, handleSubmit, formState: { errors, isDirty, isValid, isSubmitting }, } = useForm(); const localize = useLocalize(); const authConfig = plugin?.authConfig ?? []; return (
onSubmit({ pluginKey: plugin?.pluginKey ?? '', action: 'install', auth, isEntityTool, }), )} > {authConfig.map((config: TPluginAuthConfig, i: number) => { const authField = config.authField.split('||')[0]; return (
{errors[authField] && ( {errors?.[authField]?.message ?? ''} )}
); })}
); } export default PluginAuthForm;