From 4ca7661f155384375d28ed70777742c920e14b1b Mon Sep 17 00:00:00 2001 From: talksik Date: Tue, 31 May 2022 08:19:35 -0500 Subject: [PATCH] Update NewConversationDialog.tsx --- .../src/components/NewConversationDialog.tsx | 32 ++++--------------- 1 file changed, 7 insertions(+), 25 deletions(-) diff --git a/packages/desktop/src/components/NewConversationDialog.tsx b/packages/desktop/src/components/NewConversationDialog.tsx index 6d5d0d2..1e8e90c 100644 --- a/packages/desktop/src/components/NewConversationDialog.tsx +++ b/packages/desktop/src/components/NewConversationDialog.tsx @@ -27,6 +27,7 @@ import UserDetailRow from '../subcomponents/UserDetailRow'; import { blueGrey } from '@mui/material/colors'; import { searchUsers } from '../firebase/firestore'; import useAuth from '../providers/AuthProvider'; +import useSearch from '../providers/SearchProvider'; import { useSnackbar } from 'notistack'; export default function NewConversationDialog({ @@ -41,9 +42,7 @@ export default function NewConversationDialog({ const { enqueueSnackbar } = useSnackbar(); const { user } = useAuth(); - const [searchVal, setSearchVal] = useState(''); - const [searchUsersResults, setSearchUsersResults] = useState([]); - const [searching, setSearching] = useState(false); + const { userResults, searchQuery, searchUsers, isSearching } = useSearch(); const [selectedUsers, setSelectedUsers] = useState([]); @@ -54,28 +53,11 @@ export default function NewConversationDialog({ [], ); - const [, cancel] = useDebounce( - async () => { - if (searchVal) { - let results = await searchUsers(searchVal); - results = results.filter((userResult) => userResult.id !== user.uid); - setSearchUsersResults(results); - - console.warn('searched users', results); - } - - setSearching(false); - }, - 1000, - [searchVal, enqueueSnackbar, setSearchUsersResults, user], - ); - const handleChangeSearchInput = useCallback( (e: React.ChangeEvent, newValue: string) => { - setSearching(true); - setSearchVal(newValue); + searchUsers(newValue); }, - [setSearching, setSearchVal], + [searchUsers], ); const renderOption = useCallback( @@ -165,12 +147,12 @@ export default function NewConversationDialog({ (typeof option === 'string' ? option : option.displayName)} value={selectedUsers} @@ -178,7 +160,7 @@ export default function NewConversationDialog({ filterSelectedOptions isOptionEqualToValue={(optionUser, valueUser) => optionUser.id === valueUser.id} filterOptions={(options) => options} - inputValue={searchVal} + inputValue={searchQuery} renderInput={(params) => (