import Link from 'next/link' import { useEffect, useState, forwardRef, useContext } from 'react' import date from 'date-and-time' import htmlParser from 'html-react-parser' import { UserContext } from '../../../contexts/UserContext' import { API_URL } from '../../../utils/config/config' import ReactMarkdown from 'react-markdown' import CodeBlock from '../../CodeBlock' import api from '../../../utils/api' import './CommentCard.css' const CommentCard = forwardRef((props, ref) => { const { isAuth, user } = useContext(UserContext) const [isEditing, setEditing] = useState(false) const [editInput, setEditInput] = useState('') const [message, setMessage] = useState('') useEffect(() => { setEditInput(props.message) }, []) const deleteCommentById = async () => { props.manageComment.setLoadingComments(true) if (isAuth && user.token != null) { try { await api.delete(`/comments/${props.id}`, { headers: { Authorization: user.token } }) const newCommentsData = { ...props.manageComment.commentsData } const commentIndex = newCommentsData.rows.findIndex((value) => value.id === props.id) newCommentsData.rows.splice(commentIndex, 1) props.manageComment.setCommentsData({ hasMore: props.manageComment.commentsData.hasMore, rows: newCommentsData.rows }) } catch {} } props.manageComment.setLoadingComments(false) } const handleChange = (event) => { setEditInput(event.target.value) } const handleSubmit = (event) => { event.preventDefault() api.put(`/comments/${props.id}`, { message: editInput }, { headers: { Authorization: user.token } }) .then((_response) => { setEditing(false) }) .catch((error) => { setMessage(`

Erreur: ${error.response.data.message}

`) }) } const editComment = () => { setEditing(true) setMessage('') } return (
{props.user.name} {props.user.name}  - {date.format(new Date(props.createdAt), 'DD/MM/YYYY à HH:mm', true)}
{ (!isEditing) ? ( <>
{(isAuth && user.name === props.user.name) &&

supprimer  -  modifier

} ) : (