summaryrefslogtreecommitdiff
path: root/client/src/components/LeaderBoard.svelte
blob: 880e64aa48f779cbca09617c6efd26acd9cf5a38 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<script lang="ts">
  import { type LeaderBoardEntry } from "@engine/interfaces";
  import LeaderBoardCard from "./LeaderBoardCard.svelte";

  const MAX_ENTRIES = 8;

  export let entries: LeaderBoardEntry[] = [];
</script>

<div class="leaderboard">
  {#each entries
    .sort((a, b) => b.score - a.score)
    .slice(0, MAX_ENTRIES) as entry}
    <LeaderBoardCard {entry} />
  {/each}
</div>

<style>
  .leaderboard {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 10px;
  }
</style>