diff --git a/client/src/components/ChatMessage.tsx b/client/src/components/ChatMessage.tsx index 752759f..cb6ee59 100644 --- a/client/src/components/ChatMessage.tsx +++ b/client/src/components/ChatMessage.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import React, { useState } from "react"; import { ChatMessage } from "../../../shared"; function ChatMessageDisplay({ @@ -10,14 +10,28 @@ function ChatMessageDisplay({ message: ChatMessage; userId: string | undefined; onDelete: (messageId: string) => void; - onEdit: (messageId: string) => void; + onEdit: (messageId: string, newContent: string) => void; }) { + const [isEditing, setIsEditing] = useState(false); + const [editContent, setEditContent] = useState(message.content); const isOwn = userId === message.author.userId; const timestamp = new Date(message.timestamp).toLocaleTimeString([], { hour: "2-digit", minute: "2-digit", }); + const handleSave = () => { + if (editContent.trim() !== message.content) { + onEdit(message.id, editContent); + } + setIsEditing(false); + }; + + const handleCancel = () => { + setEditContent(message.content); + setIsEditing(false); + }; + return (
-
- {message.content} -
- {isOwn && ( + {isEditing ? ( +
+