diff --git a/frontend/src/component/admin/users/UsersList/UsersList.tsx b/frontend/src/component/admin/users/UsersList/UsersList.tsx index 7a38b800f4..acc52b84bf 100644 --- a/frontend/src/component/admin/users/UsersList/UsersList.tsx +++ b/frontend/src/component/admin/users/UsersList/UsersList.tsx @@ -54,8 +54,20 @@ const UsersList = ({ search }: IUsersListProps) => { const ref = useLoading(loading); const { filtered, setFilter } = useUsersFilter(users); const { sorted, sort, setSort } = useUsersSort(filtered); + + const filterUsersByQueryPage = (user: IUser) => { + const fieldsToSearch = [ + user.name ?? '', + user.username ?? user.email ?? '', + ]; + + return fieldsToSearch.some(field => { + return field.toLowerCase().includes(search.toLowerCase()); + }); + }; + // Filter users and reset pagination page when search is triggered const { page, pages, nextPage, prevPage, setPageIndex, pageIndex } = - usePagination(sorted, 50); + usePagination(sorted, 50, filterUsersByQueryPage); useEffect(() => { setFilter(filter => ({ ...filter, query: search })); diff --git a/frontend/src/hooks/usePagination.ts b/frontend/src/hooks/usePagination.ts index c8af5997c2..865246e459 100644 --- a/frontend/src/hooks/usePagination.ts +++ b/frontend/src/hooks/usePagination.ts @@ -20,6 +20,7 @@ const usePagination = ( } const result = paginate(dataToPaginate, limit); + setPageIndex(0); setPaginatedData(result); /* eslint-disable-next-line */ }, [JSON.stringify(data), limit]);