diff --git a/src/app/website/index/Teams.svelte b/src/app/website/index/Teams.svelte index 95a99d3..c6c418e 100644 --- a/src/app/website/index/Teams.svelte +++ b/src/app/website/index/Teams.svelte @@ -9,6 +9,36 @@ } const { teams, deaths }: Props = $props(); + + const entries = teams.map((team) => ({ + ...team, + memberOne: + team.memberOne.id != null + ? { + ...team.memberOne, + dead: deaths.findIndex((d) => d.deadUserId === team.memberOne.id) !== -1 + } + : undefined, + memberTwo: + team.memberTwo.id != null + ? { + ...team.memberTwo, + dead: deaths.findIndex((d) => d.deadUserId === team.memberTwo.id) !== -1 + } + : undefined, + kills: deaths.filter((d) => d.killerUserId === team.memberOne.id || d.killerUserId === team.memberTwo.id).length + })); + entries.sort((a, b) => { + const aAllowed = !!a.memberOne && !!a.memberTwo && !(a.memberOne.dead && a.memberTwo.dead); + const bAllowed = !!b.memberOne && !!b.memberTwo && !(b.memberOne.dead && b.memberTwo.dead); + if (!aAllowed && !bAllowed) { + return 0; + } else if (!aAllowed || !bAllowed) { + return (bAllowed as unknown as number) - (aAllowed as unknown as number); + } + + return b.kills - a.kills; + });