Update files
This commit is contained in:
parent
fc3864aa33
commit
430d585871
|
|
@ -1,4 +1,4 @@
|
||||||
import { useState, useEffect, useCallback } from 'react'
|
import { useState, useEffect } from 'react'
|
||||||
import { createPortal } from 'react-dom'
|
import { createPortal } from 'react-dom'
|
||||||
import { X, Send } from 'lucide-react'
|
import { X, Send } from 'lucide-react'
|
||||||
import { commentPost, getPosts } from '../utils/api'
|
import { commentPost, getPosts } from '../utils/api'
|
||||||
|
|
@ -17,6 +17,9 @@ export default function CommentsModal({ post, onClose, onUpdate }) {
|
||||||
// Загрузить полные данные поста с комментариями
|
// Загрузить полные данные поста с комментариями
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!post || !post._id) {
|
if (!post || !post._id) {
|
||||||
|
// Если пост не передан, очищаем состояние
|
||||||
|
setFullPost(null)
|
||||||
|
setComments([])
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -58,12 +61,18 @@ export default function CommentsModal({ post, onClose, onUpdate }) {
|
||||||
}, [post?._id]) // Только ID поста в зависимостях
|
}, [post?._id]) // Только ID поста в зависимостях
|
||||||
|
|
||||||
// Проверка на существование поста ПОСЛЕ хуков
|
// Проверка на существование поста ПОСЛЕ хуков
|
||||||
if (!post) {
|
if (!post || !post._id) {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
const displayPost = fullPost || post
|
const displayPost = fullPost || post
|
||||||
|
|
||||||
|
// Дополнительная проверка на наличие автора
|
||||||
|
if (!displayPost.author) {
|
||||||
|
console.warn('[CommentsModal] Пост без автора:', displayPost._id)
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
const handleSubmit = async () => {
|
const handleSubmit = async () => {
|
||||||
if (!comment.trim() || loading) return
|
if (!comment.trim() || loading) return
|
||||||
|
|
||||||
|
|
@ -101,6 +110,9 @@ export default function CommentsModal({ post, onClose, onUpdate }) {
|
||||||
console.error('[CommentsModal] Неожиданный формат ответа:', result)
|
console.error('[CommentsModal] Неожиданный формат ответа:', result)
|
||||||
hapticFeedback('error')
|
hapticFeedback('error')
|
||||||
}
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error('[CommentsModal] Ошибка добавления комментария:', error)
|
||||||
|
hapticFeedback('error')
|
||||||
} finally {
|
} finally {
|
||||||
setLoading(false)
|
setLoading(false)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue