good enough search working...cheaper than algolia and time saver...move on

This commit is contained in:
talksik
2022-05-28 13:11:56 -05:00
parent e1584a6c0f
commit fe7e60e236
2 changed files with 17 additions and 7 deletions
@@ -42,7 +42,10 @@ const Conversations = () => {
if (searchVal) { if (searchVal) {
enqueueSnackbar('searching...', { variant: 'info' }); enqueueSnackbar('searching...', { variant: 'info' });
setSearchUsersResults(await searchUsers(searchVal)); const results = await searchUsers(searchVal);
setSearchUsersResults(results);
console.warn(results);
} }
}, },
500, 500,
@@ -180,8 +183,7 @@ function ListPeople({ people }: { people: User[] }) {
}} }}
subheader={ subheader={
<ListSubheader> <ListSubheader>
<FiActivity /> <Typography variant="subtitle2"> Search Results</Typography>
<Typography variant="subtitle2"> Priority</Typography>
</ListSubheader> </ListSubheader>
} }
> >
+12 -4
View File
@@ -12,6 +12,10 @@ import {
query, query,
where, where,
getDocs, getDocs,
orderBy,
limit,
startAt,
endAt,
} from 'firebase/firestore'; } from 'firebase/firestore';
import { User as FirebaseUser } from 'firebase/auth'; import { User as FirebaseUser } from 'firebase/auth';
@@ -79,14 +83,18 @@ export const searchUsers = async (searchQuery: string): Promise<User[] | undefin
try { try {
const emaildocSearchQuery = query( const emaildocSearchQuery = query(
db.users, db.users,
where('email', '>=', searchQuery.toUpperCase()), orderBy('email'),
where('email', '<=', searchQuery.toUpperCase() + '\uf8ff'), startAt(searchQuery),
endAt(searchQuery + '\uf8ff'),
limit(5),
); );
const nameSearchQuery = query( const nameSearchQuery = query(
db.users, db.users,
where('displayName', '>=', searchQuery.toUpperCase()), orderBy('displayName'),
where('displayName', '<=', searchQuery.toUpperCase() + '\uf8ff'), startAt(searchQuery),
endAt(searchQuery + '\uf8ff'),
limit(5),
); );
const emailquerySnap = await getDocs(emaildocSearchQuery); const emailquerySnap = await getDocs(emaildocSearchQuery);