fix(frontend): Prevent from submitting empty characters (#5545)

This commit is contained in:
sp.wack 2024-12-16 11:33:26 +04:00 committed by GitHub
parent ad822a31e1
commit 08b1031666
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 17 additions and 1 deletions

View File

@ -51,6 +51,22 @@ describe("ChatInput", () => {
expect(onSubmitMock).not.toHaveBeenCalled();
});
it("should not call onSubmit when the message is only whitespace", async () => {
const user = userEvent.setup();
render(<ChatInput onSubmit={onSubmitMock} />);
const textarea = screen.getByRole("textbox");
await user.type(textarea, " ");
await user.keyboard("{Enter}");
expect(onSubmitMock).not.toHaveBeenCalled();
await user.type(textarea, " \t\n");
await user.keyboard("{Enter}");
expect(onSubmitMock).not.toHaveBeenCalled();
});
it("should disable submit", async () => {
const user = userEvent.setup();
render(<ChatInput disabled onSubmit={onSubmitMock} />);

View File

@ -84,7 +84,7 @@ export function ChatInput({
const handleSubmitMessage = () => {
const message = value || textareaRef.current?.value || "";
if (message) {
if (message.trim()) {
onSubmit(message);
onChange?.("");
if (textareaRef.current) {