From 751c031420dcb8efe3056b52b9ffbd1bee0ff90f Mon Sep 17 00:00:00 2001 From: Justin Date: Fri, 12 Aug 2022 11:48:56 -0400 Subject: [PATCH] Disable submit button --- .../features/chats/components/chat-box.tsx | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/app/soapbox/features/chats/components/chat-box.tsx b/app/soapbox/features/chats/components/chat-box.tsx index b4b609e8f..d10a224e4 100644 --- a/app/soapbox/features/chats/components/chat-box.tsx +++ b/app/soapbox/features/chats/components/chat-box.tsx @@ -51,6 +51,8 @@ const ChatBox: React.FC = ({ chat, onSetInputRef, autosize }) => { const inputElem = useRef(null); + const isSubmitDisabled = content.length === 0 && !attachment; + // TODO: needs last_read_id param const markAsRead = useMutation(() => markChatAsRead(), { onSuccess: () => { @@ -114,17 +116,8 @@ const ChatBox: React.FC = ({ chat, onSetInputRef, autosize }) => { setResetFileKey(fileKeyGen()); }; - const canSubmit = () => { - const conds = [ - content.length > 0, - attachment, - ]; - - return conds.some(c => c); - }; - const sendMessage = () => { - if (canSubmit() && !submitMessage.isLoading) { + if (!isSubmitDisabled && !submitMessage.isLoading) { const params = { content, media_id: attachment && attachment.id, @@ -153,7 +146,7 @@ const ChatBox: React.FC = ({ chat, onSetInputRef, autosize }) => { }; const handlePaste: React.ClipboardEventHandler = (e) => { - if (!canSubmit() && e.clipboardData && e.clipboardData.files.length === 1) { + if (isSubmitDisabled && e.clipboardData && e.clipboardData.files.length === 1) { handleFiles(e.clipboardData.files); } }; @@ -245,6 +238,7 @@ const ChatBox: React.FC = ({ chat, onSetInputRef, autosize }) => { src={require('@tabler/icons/send.svg')} iconClassName='w-5 h-5' className='text-primary-500' + disabled={isSubmitDisabled} onClick={sendMessage} />