From 5c1776e00eb1e9fe8900651575049f85a6602ee5 Mon Sep 17 00:00:00 2001 From: Fedor Indutny <79877362+indutny-signal@users.noreply.github.com> Date: Wed, 29 Sep 2021 12:29:02 -0700 Subject: [PATCH] Autofocus "choose group member" modal input --- .../AddGroupMembersModal/ChooseGroupMembersModal.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ts/components/conversation/conversation-details/AddGroupMembersModal/ChooseGroupMembersModal.tsx b/ts/components/conversation/conversation-details/AddGroupMembersModal/ChooseGroupMembersModal.tsx index ab0e0efff..a73bd6bc6 100644 --- a/ts/components/conversation/conversation-details/AddGroupMembersModal/ChooseGroupMembersModal.tsx +++ b/ts/components/conversation/conversation-details/AddGroupMembersModal/ChooseGroupMembersModal.tsx @@ -5,14 +5,16 @@ import React, { FunctionComponent, useEffect, useMemo, - useRef, useState, + useRef, } from 'react'; import Measure, { MeasuredComponentProps } from 'react-measure'; import { LocalizerType } from '../../../../types/Util'; import { assert } from '../../../../util/assert'; import { getOwn } from '../../../../util/getOwn'; +import { multiRef } from '../../../../util/multiRef'; +import { useRestoreFocus } from '../../../../hooks/useRestoreFocus'; import { missingCaseError } from '../../../../util/missingCaseError'; import { filterAndSortConversationsByTitle } from '../../../../util/filterAndSortConversations'; import { ConversationType } from '../../../../state/ducks/conversations'; @@ -58,6 +60,8 @@ export const ChooseGroupMembersModal: FunctionComponent = ({ setSearchTerm, toggleSelectedContact, }) => { + const [focusRef] = useRestoreFocus(); + const inputRef = useRef(null); const numberOfContactsAlreadyInGroup = conversationIdsAlreadyInGroup.size; @@ -142,7 +146,7 @@ export const ChooseGroupMembersModal: FunctionComponent = ({ confirmAdds(); } }} - ref={inputRef} + ref={multiRef(inputRef, focusRef)} value={searchTerm} /> {Boolean(selectedContacts.length) && (