function filterUsers()

in website/src/pages/ShowcaseCardPage.tsx [96:121]


function filterUsers(
  users: User[],
  selectedTags: TagType[],
  searchName: string | null
) {
  if (searchName) {
    // eslint-disable-next-line no-param-reassign
    users = users.filter((user) =>
      user.title.toLowerCase().includes(searchName.toLowerCase())
    );
  }
  if (!selectedTags || selectedTags.length === 0) {
    return users;
  }
  return users.filter((user) => {
    const tags = [
      ...user.tags,
      ...(user.languages || []),
      ...(user.azureServices || []),
    ];
    if (!user && !tags && tags.length === 0) {
      return false;
    }
    return selectedTags.every((tag) => tags.includes(tag));
  });
}