diff --git a/app/home/[account]/members/_lib/server/members-page.loader.ts b/app/home/[account]/members/_lib/server/members-page.loader.ts index b767dcc..0f0c50e 100644 --- a/app/home/[account]/members/_lib/server/members-page.loader.ts +++ b/app/home/[account]/members/_lib/server/members-page.loader.ts @@ -63,7 +63,20 @@ async function loadAccountMembers( throw error; } - return data ?? []; + const members = data ?? []; + + return members + .sort((prev, next) => { + if (prev.primary_owner_user_id === prev.user_id) { + return -1; + } + + if (prev.role_hierarchy_level < next.role_hierarchy_level) { + return -1; + } + + return 1; + }); } export async function loadAccountMembersBenefitsUsage( diff --git a/packages/features/team-accounts/src/components/members/account-members-table.tsx b/packages/features/team-accounts/src/components/members/account-members-table.tsx index d4a68a0..d345ff7 100644 --- a/packages/features/team-accounts/src/components/members/account-members-table.tsx +++ b/packages/features/team-accounts/src/components/members/account-members-table.tsx @@ -83,33 +83,23 @@ export function AccountMembersTable({ membersBenefitsUsage, }); - const filteredMembers = members - .filter((member) => { - const searchString = search.toLowerCase(); + const searchString = search.toLowerCase(); + const filteredMembers = searchString.length > 0 + ? members + .filter((member) => { + const displayName = ( + member.name ?? + member.email.split('@')[0] ?? + '' + ).toLowerCase(); - const displayName = ( - member.name ?? - member.email.split('@')[0] ?? - '' - ).toLowerCase(); - - return ( - displayName.includes(searchString) || - member.role.toLowerCase().includes(searchString) || - (member.personal_code || '').includes(searchString) - ); - }) - .sort((prev, next) => { - if (prev.primary_owner_user_id === prev.user_id) { - return -1; - } - - if (prev.role_hierarchy_level < next.role_hierarchy_level) { - return -1; - } - - return 1; - }); + return ( + displayName.includes(searchString) || + member.role.toLowerCase().includes(searchString) || + (member.personal_code || '').includes(searchString) + ); + }) + : members; return (