diff --git a/frontend/src/components/CommentsModal.jsx b/frontend/src/components/CommentsModal.jsx index f61b12f..377c93a 100644 --- a/frontend/src/components/CommentsModal.jsx +++ b/frontend/src/components/CommentsModal.jsx @@ -1,4 +1,4 @@ -import { useState, useEffect, useCallback } from 'react' +import { useState, useEffect } from 'react' import { createPortal } from 'react-dom' import { X, Send } from 'lucide-react' import { commentPost, getPosts } from '../utils/api' @@ -17,6 +17,9 @@ export default function CommentsModal({ post, onClose, onUpdate }) { // Загрузить полные данные поста с комментариями useEffect(() => { if (!post || !post._id) { + // Если пост не передан, очищаем состояние + setFullPost(null) + setComments([]) return } @@ -58,11 +61,17 @@ export default function CommentsModal({ post, onClose, onUpdate }) { }, [post?._id]) // Только ID поста в зависимостях // Проверка на существование поста ПОСЛЕ хуков - if (!post) { + if (!post || !post._id) { return null } const displayPost = fullPost || post + + // Дополнительная проверка на наличие автора + if (!displayPost.author) { + console.warn('[CommentsModal] Пост без автора:', displayPost._id) + return null + } const handleSubmit = async () => { if (!comment.trim() || loading) return @@ -101,6 +110,9 @@ export default function CommentsModal({ post, onClose, onUpdate }) { console.error('[CommentsModal] Неожиданный формат ответа:', result) hapticFeedback('error') } + } catch (error) { + console.error('[CommentsModal] Ошибка добавления комментария:', error) + hapticFeedback('error') } finally { setLoading(false) }