more clenup and autocomplete with search working simple async calls
This commit is contained in:
@@ -5,6 +5,7 @@ import { ConversationMap } from '../util/types';
|
||||
import User from '@nirvana/core/models/user.model';
|
||||
import useAuth from './AuthProvider';
|
||||
import { useDebounce } from 'react-use';
|
||||
import { userSearch } from '../api/NirvanaApi';
|
||||
|
||||
interface ISearchContext {
|
||||
searchUsers?: (searchQuery: string) => void;
|
||||
@@ -42,11 +43,8 @@ export function SearchProvider({ children }: { children: React.ReactNode }) {
|
||||
const [, cancel] = useDebounce(
|
||||
async () => {
|
||||
if (searchQuery) {
|
||||
// let results = await firestoreSearchUsers(searchQuery);
|
||||
// results = results.filter((userResult) => userResult. user._id);
|
||||
|
||||
const results = [];
|
||||
setUserResultsResults(results);
|
||||
const results = await userSearch(searchQuery);
|
||||
setUserResultsResults(results.users ?? []);
|
||||
|
||||
console.warn('searched users', results);
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ export default function UserDetailRow({
|
||||
|
||||
<Stack>
|
||||
<Typography variant="subtitle2" color="info" gutterBottom={false}>
|
||||
{user.givenName}
|
||||
{user.name}
|
||||
</Typography>
|
||||
<Typography variant={'overline'}>{user.email}</Typography>
|
||||
</Stack>
|
||||
|
||||
@@ -79,7 +79,7 @@ export default function NewConversationDialog() {
|
||||
|
||||
const [isSubmitting, setIsSubmitting] = useState<boolean>(false);
|
||||
|
||||
const handleSubmitLocal = useCallback(async () => {
|
||||
const handleSubmit = useCallback(async () => {
|
||||
if (selectedUsers.length === 0) {
|
||||
toast.error('Must select a person!');
|
||||
return;
|
||||
@@ -147,7 +147,9 @@ export default function NewConversationDialog() {
|
||||
value={selectedUsers}
|
||||
onChange={handleChangeSelections}
|
||||
filterSelectedOptions
|
||||
isOptionEqualToValue={(optionUser, valueUser) => optionUser._id.equals(valueUser._id)}
|
||||
isOptionEqualToValue={(optionUser, valueUser) =>
|
||||
optionUser._id.toString() === valueUser._id.toString()
|
||||
}
|
||||
filterOptions={(options) => options}
|
||||
inputValue={searchQuery}
|
||||
renderInput={(params) => (
|
||||
@@ -177,7 +179,7 @@ export default function NewConversationDialog() {
|
||||
Cancel
|
||||
</Button>
|
||||
<Button
|
||||
onClick={handleSubmitLocal}
|
||||
onClick={handleSubmit}
|
||||
disabled={selectedUsers.length === 0 || isSubmitting}
|
||||
variant={'contained'}
|
||||
color="primary"
|
||||
|
||||
@@ -15,5 +15,7 @@
|
||||
},
|
||||
"jsx": "react-jsx"
|
||||
},
|
||||
"include": ["src/**/*"]
|
||||
"include": ["src/**/*"],
|
||||
|
||||
"exclude": ["**.js"]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user