import { useTranslation } from 'react-i18next' import { useState } from 'react' import { openUrl } from '../../utils/index.mjs' import { isUsingApiKey, isUsingAzureOpenAi, isUsingCustomModel, isUsingCustomNameOnlyModel, isUsingGithubThirdPartyApi, isUsingMultiModeModel, ModelMode, Models, ThemeMode, TriggerMode, } from '../../config/index.mjs' import Browser from 'webextension-polyfill' import { languageList } from '../../config/language.mjs' import PropTypes from 'prop-types' GeneralPart.propTypes = { config: PropTypes.object.isRequired, updateConfig: PropTypes.func.isRequired, } export function GeneralPart({ config, updateConfig }) { const { t, i18n } = useTranslation() const [balance, setBalance] = useState(null) const getBalance = async () => { const response = await fetch(`${config.customOpenAiApiUrl}/dashboard/billing/credit_grants`, { headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${config.apiKey}`, }, }) if (response.ok) setBalance((await response.json()).total_available.toFixed(2)) else openUrl('https://platform.openai.com/account/usage') } return ( <>
) }