This commit is contained in:
slawk0
2024-12-21 18:39:16 +01:00
parent 5db3354f9b
commit 49a0cbad61
2 changed files with 32 additions and 30 deletions

View File

@@ -14,7 +14,6 @@ type Input = {
type MessageFormProps = { type MessageFormProps = {
contact: ContactsProps; contact: ContactsProps;
setMessages: React.Dispatch<React.SetStateAction<ChatMessages[]>>;
messages: ChatMessages[]; messages: ChatMessages[];
}; };
@@ -136,33 +135,35 @@ const MessageForm = ({ contact }: MessageFormProps) => {
} }
} }
// Emit message to server for (let i = 0; i < 100; i++) {
socket.emit( // Emit message to server
'chat message', socket.emit(
{ 'chat message',
{
message: data.message.trim(),
recipient: contact.conversation_id,
attachment_urls: attachmentUrls,
recipient_id: contact.user_id,
},
(response: { status: string; message: string }) => {
if (response.status === 'ok') {
setIsSending(false);
reset({ message: '' });
handleClearFiles();
} else {
setIsSending(false);
setErrorMessage(response.message);
}
console.log('Response: ', response);
},
);
console.log('sent: ', {
message: data.message.trim(), message: data.message.trim(),
recipient: contact.conversation_id, recipient: contact.conversation_id,
attachment_urls: attachmentUrls, attachment_urls: attachmentUrls,
recipient_id: contact.user_id, recipient_id: contact.user_id,
}, });
(response: { status: string; message: string }) => { }
if (response.status === 'ok') {
setIsSending(false);
reset({ message: '' });
handleClearFiles();
} else {
setIsSending(false);
setErrorMessage(response.message);
}
console.log('Response: ', response);
},
);
console.log('sent: ', {
message: data.message.trim(),
recipient: contact.conversation_id,
attachment_urls: attachmentUrls,
recipient_id: contact.user_id,
});
}; };
const handleKeyPress: KeyboardEventHandler<HTMLTextAreaElement> = (e) => { const handleKeyPress: KeyboardEventHandler<HTMLTextAreaElement> = (e) => {

View File

@@ -138,7 +138,12 @@ function Chat() {
messages.messages.forEach((msg) => { messages.messages.forEach((msg) => {
setMessages((prevMessages) => { setMessages((prevMessages) => {
if (!prevMessages.some((m) => m.message_id === msg.message_id)) { if (!prevMessages.some((m) => m.message_id === msg.message_id)) {
return [msg, ...prevMessages]; const messageWithDate = {
...msg,
sent_at: new Date(msg.sent_at),
};
return [messageWithDate, ...prevMessages];
} }
return prevMessages; return prevMessages;
}); });
@@ -247,11 +252,7 @@ function Chat() {
<div className="flex-shrink-0 mb-2 mt-0"> <div className="flex-shrink-0 mb-2 mt-0">
{currentContact && currentContact.username?.length >= 4 ? ( {currentContact && currentContact.username?.length >= 4 ? (
<MessageForm <MessageForm contact={currentContact} messages={messages} />
contact={currentContact}
setMessages={setMessages}
messages={messages}
/>
) : null} ) : null}
</div> </div>
</div> </div>