import React, { useState, useEffect } from "react"; import { Icon } from "@iconify/react"; interface ImproveTextModalProps { isOpen: boolean; onClose: () => void; onApply: (improvedText: string) => void; originalText: string; improvedText: string; isLoading?: boolean; hasError?: boolean; errorMessage?: string; } export const ImproveTextModal: React.FC = ({ isOpen, onClose, onApply, originalText, improvedText, isLoading = false, hasError = false, errorMessage, }) => { const [localImprovedText, setLocalImprovedText] = useState(improvedText); useEffect(() => { if (isOpen) { setLocalImprovedText(improvedText); } }, [isOpen, improvedText]); const handleApply = () => { if (!localImprovedText.trim()) { return; } onApply(localImprovedText); onClose(); }; useEffect(() => { const handleEscape = (e: KeyboardEvent) => { if (e.key === "Escape" && isOpen) { onClose(); } }; if (isOpen) { document.addEventListener("keydown", handleEscape); } return () => document.removeEventListener("keydown", handleEscape); }, [isOpen, onClose]); if (!isOpen) return null; return (
e.stopPropagation()} >

Улучшенный текст

×
{isLoading ? (

Улучшаю текст через ИИ...

) : hasError ? (

Не удалось улучшить текст

{errorMessage || "Произошла ошибка при улучшении текста. Проверьте настройки AI или попробуйте еще раз."}

) : ( <>

Оригинальный текст:

{originalText || "(пусто)"}

Улучшенный текст: