From 22973a5eb3b00c67e6b789fb4a2b94aa72656b31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?marcin=20miko=C5=82ajczak?= Date: Fri, 31 May 2024 18:54:51 +0200 Subject: [PATCH] LanguageDropdown: clear on close MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: marcin mikołajczak --- .../compose/components/language-dropdown.tsx | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/features/compose/components/language-dropdown.tsx b/src/features/compose/components/language-dropdown.tsx index 283be3bfd..1371dbed7 100644 --- a/src/features/compose/components/language-dropdown.tsx +++ b/src/features/compose/components/language-dropdown.tsx @@ -99,7 +99,7 @@ const LanguageDropdown: React.FC = ({ composeId }) => { switch (e.key) { case 'Escape': - setIsOpen(false); + handleClose(); break; case 'Enter': handleOptionClick(e); @@ -138,7 +138,7 @@ const LanguageDropdown: React.FC = ({ composeId }) => { e.preventDefault(); - setIsOpen(false); + handleClose(); }; const handleAddLanguageClick: React.EventHandler = (e: MouseEvent | KeyboardEvent) => { @@ -147,7 +147,7 @@ const LanguageDropdown: React.FC = ({ composeId }) => { e.preventDefault(); e.stopPropagation(); - setIsOpen(false); + handleClose(); dispatch(addComposeLanguage(composeId, value)); }; @@ -157,7 +157,7 @@ const LanguageDropdown: React.FC = ({ composeId }) => { e.preventDefault(); e.stopPropagation(); - setIsOpen(false); + handleClose(); dispatch(deleteComposeLanguage(composeId, value)); }; @@ -205,7 +205,7 @@ const LanguageDropdown: React.FC = ({ composeId }) => { const handleDocumentClick = (event: Event) => { if (refs.floating.current && !refs.floating.current.contains(event.target as Node)) { - setIsOpen(false); + handleClose(); } }; @@ -238,7 +238,7 @@ const LanguageDropdown: React.FC = ({ composeId }) => { element = items[items.length - 1]; break; case 'Escape': - setIsOpen(false); + handleClose(); break; } @@ -249,6 +249,11 @@ const LanguageDropdown: React.FC = ({ composeId }) => { } }; + const handleClose = () => { + setSearchValue(''); + handleClose(); + }; + const arrowProps: React.CSSProperties = useMemo(() => { if (middlewareData.arrow) { const { x, y } = middlewareData.arrow;