show kill details on team member hover instead of kill hover
All checks were successful
deploy / build-and-deploy (/testvaro, /opt/website-test, website-test) (push) Successful in 23s
deploy / build-and-deploy (/varo, /opt/website, website) (push) Successful in 14s

This commit is contained in:
2025-06-24 00:22:11 +02:00
parent e5f253ebc1
commit 1f96e3babe

View File

@ -12,18 +12,21 @@
const entries = teams.map((team) => ({ const entries = teams.map((team) => ({
...team, ...team,
memberOne: Object.assign(team.memberOne, { memberOne: Object.assign(team.memberOne, {
kills: deaths.filter((d) => d.killer?.id === team.memberOne.id) ?? [],
dead: deaths.find((d) => d.killed.id === team.memberOne.id) ?? null dead: deaths.find((d) => d.killed.id === team.memberOne.id) ?? null
}), }),
memberTwo: Object.assign(team.memberTwo, { memberTwo: Object.assign(team.memberTwo, {
kills: deaths.filter((d) => d.killer?.id === team.memberTwo.id) ?? [],
dead: deaths.find((d) => d.killed.id === team.memberTwo.id) ?? null dead: deaths.find((d) => d.killed.id === team.memberTwo.id) ?? null
}), })
kills: deaths.filter((d) => d.killer?.id === team.memberOne.id || d.killer?.id === team.memberTwo.id)
})); }));
entries.sort((a, b) => { entries.sort((a, b) => {
const aBothSignedUp = a.memberOne.id != null && a.memberTwo.id != null; const aBothSignedUp = a.memberOne.id != null && a.memberTwo.id != null;
const aBothKills = a.memberOne.kills.length + a.memberTwo.kills.length;
const aBothDead = a.memberOne.dead && a.memberTwo.dead; const aBothDead = a.memberOne.dead && a.memberTwo.dead;
const bBothSignedUp = b.memberOne.id != null && b.memberTwo.id != null; const bBothSignedUp = b.memberOne.id != null && b.memberTwo.id != null;
const bBothKills = b.memberOne.kills.length + b.memberTwo.kills.length;
const bBothDead = b.memberOne.dead && b.memberTwo.dead; const bBothDead = b.memberOne.dead && b.memberTwo.dead;
if (!aBothSignedUp || !bBothSignedUp) { if (!aBothSignedUp || !bBothSignedUp) {
@ -32,7 +35,7 @@
return Number(!!aBothDead) - Number(!!bBothDead); return Number(!!aBothDead) - Number(!!bBothDead);
} }
return b.kills.length - a.kills.length; return bBothKills.length - aBothKills.length;
}); });
</script> </script>
@ -65,7 +68,17 @@
{/if} {/if}
</td> </td>
<td class="max-w-9 overflow-ellipsis"> <td class="max-w-9 overflow-ellipsis">
<div class="flex items-center gap-x-2 w-max tooltip" data-tip={team.memberOne.dead?.message}> <div class="flex items-center gap-x-2 w-max tooltip">
{#if team.memberTwo.kills.length > 0 || team.memberTwo.dead}
<div class="tooltip-content text-left space-y-1">
{#each team.memberTwo.kills as kill (kill.killed.id)}
<p>🔪 {kill.killer!.username}{kill.killed.username}</p>
{/each}
{#if team.memberTwo.dead}
<p class="mt-2 first:mt-initial">{team.memberTwo.dead.message}</p>
{/if}
</div>
{/if}
{#if team.memberOne.id != null} {#if team.memberOne.id != null}
<img class="h-4 pixelated" src="https://mc-heads.net/head/{team.memberOne.username}/8" alt="head" /> <img class="h-4 pixelated" src="https://mc-heads.net/head/{team.memberOne.username}/8" alt="head" />
{/if} {/if}
@ -77,7 +90,17 @@
</div> </div>
</td> </td>
<td> <td>
<div class="flex items-center gap-x-2 w-max tooltip" data-tip={team.memberTwo.dead?.message}> <div class="flex items-center gap-x-2 w-max tooltip">
{#if team.memberTwo.kills.length > 0 || team.memberTwo.dead}
<div class="tooltip-content text-left space-y-1">
{#each team.memberTwo.kills as kill (kill.killed.id)}
<p>🔪 {kill.killer!.username}{kill.killed.username}</p>
{/each}
{#if team.memberTwo.dead}
<p class="mt-2 first:mt-initial">{team.memberTwo.dead.message}</p>
{/if}
</div>
{/if}
{#if team.memberTwo.id != null} {#if team.memberTwo.id != null}
<img class="h-4 pixelated" src="https://mc-heads.net/head/{team.memberTwo.username}/8" alt="head" /> <img class="h-4 pixelated" src="https://mc-heads.net/head/{team.memberTwo.username}/8" alt="head" />
{/if} {/if}
@ -89,13 +112,8 @@
</div> </div>
</td> </td>
<td> <td>
<span class="text-xs sm:text-md tooltip tooltip-right"> <span class="text-xs sm:text-md">
<span class="tooltip-content text-left space-y-1"> {team.memberOne.kills.length + team.memberTwo.kills.length}
{#each team.kills as kill, i (i)}
<p>{kill.killer!.username} 🔪 {kill.killed.username}</p>
{/each}
</span>
{team.kills.length}
</span> </span>
</td> </td>
</tr> </tr>