/* eslint-disable react-hooks/exhaustive-deps */ import React, { useEffect, useState } from 'react'; // TODO: Temporarily remove checkbox until Plugins solution for Azure is figured out // import * as Checkbox from '@radix-ui/react-checkbox'; // import { CheckIcon } from '@radix-ui/react-icons'; import { useMultipleKeys } from '~/hooks/Input'; import InputWithLabel from './InputWithLabel'; import type { TConfigProps } from '~/common'; import { isJson } from '~/utils/json'; const OpenAIConfig = ({ userKey, setUserKey, endpoint }: TConfigProps) => { const [showPanel, setShowPanel] = useState(endpoint === 'azureOpenAI'); const { getMultiKey: getAzure, setMultiKey: setAzure } = useMultipleKeys(setUserKey); useEffect(() => { if (isJson(userKey)) { setShowPanel(true); } setUserKey(''); }, []); useEffect(() => { if (!showPanel && isJson(userKey)) { setUserKey(''); } }, [showPanel]); return ( <> {!showPanel ? ( <> setUserKey(e.target.value ?? '')} label={'OpenAI API Key'} /> ) : ( <> setAzure('azureOpenAIApiInstanceName', e.target.value ?? '', userKey) } label={'Azure OpenAI Instance Name'} /> setAzure('azureOpenAIApiDeploymentName', e.target.value ?? '', userKey) } label={'Azure OpenAI Deployment Name'} /> setAzure('azureOpenAIApiVersion', e.target.value ?? '', userKey) } label={'Azure OpenAI API Version'} /> setAzure('azureOpenAIApiKey', e.target.value ?? '', userKey) } label={'Azure OpenAI API Key'} /> )} {/* { endpoint === 'gptPlugins' && (
setShowPanel(!showPanel)} >
)} */} ); }; export default OpenAIConfig;