import React, { useEffect, useState } from "react"; import { X } from "@phosphor-icons/react"; import BrowserExtensionApiKey from "@/models/browserExtensionApiKey"; import { fullApiUrl, POPUP_BROWSER_EXTENSION_EVENT } from "@/utils/constants"; export default function NewBrowserExtensionApiKeyModal({ closeModal, onSuccess, isMultiUser, }) { const [apiKey, setApiKey] = useState(null); const [error, setError] = useState(null); const [copied, setCopied] = useState(false); const handleCreate = async (e) => { setError(null); e.preventDefault(); const { apiKey: newApiKey, error } = await BrowserExtensionApiKey.generateKey(); if (!!newApiKey) { const fullApiKey = `${fullApiUrl()}|${newApiKey}`; setApiKey(fullApiKey); onSuccess(); window.postMessage( { type: POPUP_BROWSER_EXTENSION_EVENT, apiKey: fullApiKey }, "*" ); } setError(error); }; const copyApiKey = () => { if (!apiKey) return false; window.navigator.clipboard.writeText(apiKey); setCopied(true); }; useEffect(() => { function resetStatus() { if (!copied) return false; setTimeout(() => { setCopied(false); }, 3000); } resetStatus(); }, [copied]); return (

新的浏览器扩展API密钥

{error &&

Error: {error}

} {apiKey && ( )} {isMultiUser && (

警告:当前处于多用户模式,此API密钥可访问与您帐户关联的所有文件分析区。请谨慎分享,以防泄露。

)}

点击“创建API密钥”后,琛海AI将尝试自动连接到您的浏览器扩展。

如果在扩展中显示“链接琛海AI”,则表示连接已成功建立。如果未显示,请复制连接字符串并手动粘贴到扩展中以完成连接。

{!apiKey ? ( <> ) : ( )}
); }