import React, { useState, useEffect } from 'react'; import ReactMarkdown from 'react-markdown'; import remarkGfm from 'remark-gfm'; import rehypeRaw from 'rehype-raw'; // Импортируем rehype-raw для обработки сырого HTML import CommandInput from './CommandInput'; function ChatPanel({ chatHistory, onSendMessage }) { const [message, setMessage] = useState(''); const handleSubmit = (event) => { event.preventDefault(); // Предотвращаем стандартное действие отправки формы, которое перезагружает страницу if (message.trim()) { // Проверяем, что сообщение не пустое onSendMessage(message); // Вызываем функцию отправки сообщения, переданную из родителя setMessage(''); // Очищаем поле ввода после отправки } }; useEffect(() => { const chatHistoryDiv = document.querySelector('.chat-history'); if (chatHistoryDiv) { chatHistoryDiv.scrollTop = chatHistoryDiv.scrollHeight; } }, [chatHistory]); return (