diff options
Diffstat (limited to 'client/src/components/LeaderBoard.svelte')
-rw-r--r-- | client/src/components/LeaderBoard.svelte | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/client/src/components/LeaderBoard.svelte b/client/src/components/LeaderBoard.svelte new file mode 100644 index 0000000..d6e4ce3 --- /dev/null +++ b/client/src/components/LeaderBoard.svelte @@ -0,0 +1,25 @@ +<script lang="ts"> + import { type LeaderBoardEntry } from "../../lib/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> |