sort members and group by role

This commit is contained in:
Oliver Bryan
2026-01-09 08:29:08 +00:00
parent 903fd5f347
commit e2809a15d0

View File

@@ -53,11 +53,12 @@ function OrganisationsDialog({
organisationId: selectedOrganisation.Organisation.id, organisationId: selectedOrganisation.Organisation.id,
onSuccess: (data) => { onSuccess: (data) => {
const members = data as OrganisationMemberResponse[]; const members = data as OrganisationMemberResponse[];
const roleOrder: Record<string, number> = { owner: 0, admin: 1, member: 2 };
members.sort((a, b) => { members.sort((a, b) => {
const nameCompare = a.User.name.localeCompare(b.User.name); const roleA = roleOrder[a.OrganisationMember.role] ?? 3;
return nameCompare !== 0 const roleB = roleOrder[b.OrganisationMember.role] ?? 3;
? nameCompare if (roleA !== roleB) return roleA - roleB;
: b.OrganisationMember.role.localeCompare(a.OrganisationMember.role); return a.User.name.localeCompare(b.User.name);
}); });
setMembers(members); setMembers(members);
}, },