import React, { useState } from 'react'; import loadingSvg from '../icons/loading.svg?raw'; import sendSvg from '../icons/send.svg?raw'; import type { EditorProps } from './EditorProps'; /** * 文本编辑器组件,用于向 AI 发送修改请求 */ export const TextEditor: React.FC = ({ element, onClose, onSendPrompt }) => { const [prompt, setPrompt] = useState(''); const [isLoading, setIsLoading] = useState(false); const handleSendPrompt = async () => { if (!prompt.trim()) { return; } setIsLoading(true); try { await onSendPrompt(prompt, element); onClose(); } catch (error) { console.error('AI 请求失败:', error); } finally { setIsLoading(false); } }; const handleKeyDown = (e: React.KeyboardEvent) => { if (e.key === 'Enter' && !e.shiftKey) { e.preventDefault(); handleSendPrompt(); } }; return (