mirror of
https://github.com/hex248/sprint.git
synced 2026-02-08 02:33:01 +00:00
sort members and group by role
This commit is contained in:
@@ -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);
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user