import type { Provider, ProviderAzureToken } from '@/models/common' import { useTranslation } from 'react-i18next' import Link from 'next/link' import { ArrowTopRightOnSquareIcon } from '@heroicons/react/24/outline' import ProviderInput, { ProviderValidateTokenInput} from '../provider-input' import { useState } from 'react' import { ValidatedStatus } from '../provider-input/useValidateToken' interface IAzureProviderProps { provider: Provider onValidatedStatus: (status?: ValidatedStatus) => void onTokenChange: (token: ProviderAzureToken) => void } const AzureProvider = ({ provider, onTokenChange, onValidatedStatus }: IAzureProviderProps) => { const { t } = useTranslation() const [token, setToken] = useState(provider.token as ProviderAzureToken || {}) const handleFocus = () => { if (token === provider.token) { token.azure_api_key = '' setToken({...token}) onTokenChange({...token}) } } const handleChange = (type: keyof ProviderAzureToken, v: string) => { token[type] = v setToken({...token}) onTokenChange({...token}) } return (
handleChange('azure_api_base', v)} /> handleChange('azure_api_type', v)} /> handleChange('azure_api_version', v)} /> handleChange('azure_api_key', v)} onFocus={handleFocus} onValidatedStatus={onValidatedStatus} providerName={provider.provider_name} /> {t('common.provider.azure.helpTip')}
) } export default AzureProvider