use declarative apporach
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Jared He 2022-06-06 00:28:17 -04:00
parent cad441fab6
commit ddf6ac4b9b
1 changed files with 15 additions and 16 deletions

View File

@ -207,23 +207,22 @@ async function getTeamWithImages(team: TeamMember[]) {
); );
} }
function memberComparer(a: Metadata, b: Metadata) {
return a.name.localeCompare(b.name);
}
function sortTeam(team: Metadata[]): Metadata[] { function sortTeam(team: Metadata[]): Metadata[] {
const teamLeads: Metadata[] = []; const leads = team
const teamMembers: Metadata[] = []; .filter(({ role }) => role === "Team Lead")
const teamOthers: Metadata[] = []; .sort(memberComparer);
for (const member of team) { const general = team
if (!Object.prototype.hasOwnProperty.call(member, "role")) { .filter(({ role }) => role == null || role === "")
teamMembers.push(member); .sort(memberComparer);
} else if (member.role === "Team Lead") { const others = team
teamLeads.push(member); .filter(({ role }) => role != null && role !== "" && role !== "Team Lead")
} else { .sort(memberComparer);
teamOthers.push(member);
} return [...leads, ...general, ...others];
}
teamLeads.sort((a, b) => a.name.localeCompare(b.name));
teamMembers.sort((a, b) => a.name.localeCompare(b.name));
teamOthers.sort((a, b) => a.name.localeCompare(b.name));
return [...teamLeads, ...teamMembers, ...teamOthers];
} }
export const getStaticProps: GetStaticProps<Props> = async () => { export const getStaticProps: GetStaticProps<Props> = async () => {