45 Zeilen
904 B
Svelte
45 Zeilen
904 B
Svelte
|
<script lang="ts">
|
||
|
import {statsRepo} from "./repo/repo.ts";
|
||
|
|
||
|
export let gamemode: string;
|
||
|
|
||
|
let request = getRequest();
|
||
|
|
||
|
function getRequest() {
|
||
|
return $statsRepo.getRankings(gamemode);
|
||
|
}
|
||
|
</script>
|
||
|
|
||
|
{#await request}
|
||
|
<p>Loading...</p>
|
||
|
{:then data}
|
||
|
<div>
|
||
|
<table>
|
||
|
<tr class="font-bold">
|
||
|
<td>Platz</td>
|
||
|
<td>Spieler</td>
|
||
|
<td>Elo</td>
|
||
|
</tr>
|
||
|
{#each data as player, i}
|
||
|
<tr>
|
||
|
<td>{`${i + 1}.`}</td>
|
||
|
<td>{player.name}</td>
|
||
|
<td>{player.elo}</td>
|
||
|
</tr>
|
||
|
{/each}
|
||
|
</table>
|
||
|
</div>
|
||
|
{:catch error}
|
||
|
<p>{error.message}</p>
|
||
|
{/await}
|
||
|
|
||
|
<style lang="scss">
|
||
|
table {
|
||
|
@apply w-full;
|
||
|
}
|
||
|
div {
|
||
|
@apply p-3 bg-gray-200 dark:bg-gray-800 rounded-2xl;
|
||
|
}
|
||
|
</style>
|
||
|
|