import React, { useState } from "react"; import { useComment, useEditedComment } from "@plebbit/plebbit-react-hooks"; import { Link } from "react-router-dom"; import OriginalCommentModal from "./modals/OriginalCommentModal"; import getDate from "../utils/getDate"; const EditLabel = ({ commentCid, className }) => { const [isOriginalCommentModalOpen, setIsOriginalCommentModalOpen] = useState(false); const comment = useComment({commentCid}); const timestamp = getDate(comment.edit?.timestamp); const {state: editedCommentState, editedComment} = useEditedComment({comment}); const conditionsCheck = () => { let conditions = []; if (editedComment?.removed && !comment.removed) { conditions.push("removal"); } if (editedComment?.edit && !comment.edit) { conditions.push("edit"); } if (editedComment?.locked && !comment.locked) { conditions.push("lock"); } if (editedComment?.pinned && !comment.pinned) { conditions.push("sticky"); } return conditions.length > 0 ? conditions.join(', ') : null; }; const conditionsString = conditionsCheck(); return ( <> setIsOriginalCommentModalOpen(false)} comment={comment}/> {comment.edit && ( <>
(Edited at {timestamp}, setIsOriginalCommentModalOpen(true) }>show original) )} {((editedCommentState === 'pending' || editedCommentState === 'failed') && conditionsString) ? ( <>
({editedCommentState === 'pending' ? 'Pending' : 'Failed'} {conditionsString}) ) : null} ); }; export default EditLabel;