From a0952c32c6b07501bfe2eb15e7712fa48cee52b6 Mon Sep 17 00:00:00 2001 From: ilya-bkv Date: Wed, 14 Dec 2022 06:27:11 +0300 Subject: [PATCH] keep opened chat open after refresh Send form by enter --- src/components/Views/Inbox.tsx | 9 ++++++++- src/context/inbox.tsx | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/components/Views/Inbox.tsx b/src/components/Views/Inbox.tsx index c8d369e1..79971a77 100644 --- a/src/components/Views/Inbox.tsx +++ b/src/components/Views/Inbox.tsx @@ -58,7 +58,6 @@ export const InboxView = () => { try { const response = await loadMessages({ chat: chat.id }) setMessages(response as unknown as MessageType[]) - // TODO: one client recreating } catch (error) { console.error('[loadMessages]', error) } finally { @@ -143,6 +142,13 @@ export const InboxView = () => { return messages().find((message) => message.id === messageId) } + const handleKeyDown = (event) => { + if (event.keyCode === 13 && !event.shiftKey && postMessageText().trim().length > 0) { + event.preventDefault() + handleSubmit() + } + } + return (
@@ -259,6 +265,7 @@ export const InboxView = () => { class={styles.textInput} value={postMessageText()} rows={1} + onKeyDown={handleKeyDown} onInput={(event) => handleChangeMessage(event)} placeholder={t('Write message')} /> diff --git a/src/context/inbox.tsx b/src/context/inbox.tsx index 88d47166..5d12437d 100644 --- a/src/context/inbox.tsx +++ b/src/context/inbox.tsx @@ -1,7 +1,7 @@ import { Accessor, createMemo, JSX, onMount } from 'solid-js' import { createContext, createSignal, useContext } from 'solid-js' import { createChatClient } from '../graphql/privateGraphQLClient' -import type { Chat } from '../graphql/types.gen' +import type { Chat, Message } from '../graphql/types.gen' import { apiClient } from '../utils/apiClient' import newMessage from '../graphql/subs/new-message' import type { Client } from '@urql/core'