Skip to content

Commit

Permalink
added submit on enter in live chat
Browse files Browse the repository at this point in the history
  • Loading branch information
Singh committed Dec 31, 2023
1 parent 0984a98 commit 50819bd
Showing 1 changed file with 22 additions and 8 deletions.
30 changes: 22 additions & 8 deletions frontend/components/Infinite-message-list.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -139,14 +139,6 @@ const InfiniteMessageList: React.FC<InfiniteMessageListProps> = ({
if (data?.pages) mergeMessages(data.pages.flatMap((page) => page.result));
}, [inView, hasNextPage, fetchNextPage, data, mergeMessages]);

const handleMessageSubmit = useCallback(
(e: React.FormEvent<HTMLFormElement>) => {
e.preventDefault();
const message = new FormData(e.currentTarget).get('message') as string;
execute({ content: message, sessionId: liveSession.id });
},
[execute, liveSession.id],
);
const handleRemoveItem = useCallback(
(id: string) => {
setLiveMessages((prevMessages) =>
Expand All @@ -172,7 +164,28 @@ const InfiniteMessageList: React.FC<InfiniteMessageListProps> = ({
() => liveMessages.filter((msg) => msg.upVotes > PRIORITY_HIGH),
[liveMessages],
);
const handleMessageSubmit = useCallback(
(e: React.FormEvent<HTMLFormElement>) => {
e.preventDefault();
const message = new FormData(e.currentTarget).get('message') as string;

execute({ content: message, sessionId: liveSession.id });
},
[execute, liveSession.id],
);
const handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {
if (e.key === 'Enter' && !e.shiftKey) {
e.preventDefault();

const fakeEvent = {
preventDefault: () => {},
currentTarget: formRefSend.current,
};
handleMessageSubmit(
fakeEvent as unknown as React.FormEvent<HTMLFormElement>,
);
}
};
const renderMessages = (messages: ExtentedMessage[], dismissBtn = false) =>
messages.map((message) => (
<div className="flex flex-col space-y-2 " key={message.id}>
Expand Down Expand Up @@ -253,6 +266,7 @@ const InfiniteMessageList: React.FC<InfiniteMessageListProps> = ({
rows={2}
name="message"
placeholder="Type your message..."
onKeyDown={handleKeyDown}
/>

<Button type="submit">Send</Button>
Expand Down

0 comments on commit 50819bd

Please sign in to comment.