From bdec09128e134238e3e0efdaa7cf6e7c46c19c94 Mon Sep 17 00:00:00 2001 From: mat Date: Fri, 4 Mar 2022 18:32:23 +0000 Subject: add leaderboards --- src/routes/leaderboard/[name].ts | 10 ++++ src/routes/leaderboard/index.ts | 8 ++++ src/routes/leaderboards/[name].svelte | 86 +++++++++++++++++++++++++++++++++++ src/routes/leaderboards/index.svelte | 54 ++++++++++++++++++++++ 4 files changed, 158 insertions(+) create mode 100644 src/routes/leaderboard/[name].ts create mode 100644 src/routes/leaderboard/index.ts create mode 100644 src/routes/leaderboards/[name].svelte create mode 100644 src/routes/leaderboards/index.svelte (limited to 'src/routes') diff --git a/src/routes/leaderboard/[name].ts b/src/routes/leaderboard/[name].ts new file mode 100644 index 0000000..fac1ee9 --- /dev/null +++ b/src/routes/leaderboard/[name].ts @@ -0,0 +1,10 @@ +// The route /leaderboard/ was moved to /leaderboards/ for +// consistency. +export async function get({ params }) { + return { + status: 303, + headers: { + location: `/leaderboards/${params.name}` + } + } +} diff --git a/src/routes/leaderboard/index.ts b/src/routes/leaderboard/index.ts new file mode 100644 index 0000000..beda8d6 --- /dev/null +++ b/src/routes/leaderboard/index.ts @@ -0,0 +1,8 @@ +export async function get({ request }) { + return { + status: 303, + headers: { + location: '/leaderboards' + } + } +} diff --git a/src/routes/leaderboards/[name].svelte b/src/routes/leaderboards/[name].svelte new file mode 100644 index 0000000..2aec4b3 --- /dev/null +++ b/src/routes/leaderboards/[name].svelte @@ -0,0 +1,86 @@ + + + + + +
+ +
+

+ {#if imageUrl} + {cleanId(data.name.slice(11))} + {/if} + {toTitleCase(cleanId(data.name))} +

+ {#if data.info} +

{data.info}

+ {/if} + +
    + {#each data.list as leaderboardItem} +
  1. + + {formatNumberFromUnit( + leaderboardItem.value, + leaderboardItem.unit ?? cleanId(data.name).toLowerCase() + )} + + {#if leaderboardItem.player} + + {:else if leaderboardItem.players} + {#each leaderboardItem.players as player} + + + + {/each} + {:else} + Unknown player + {/if} +
  2. + {/each} +
+
+ + diff --git a/src/routes/leaderboards/index.svelte b/src/routes/leaderboards/index.svelte new file mode 100644 index 0000000..b6815e5 --- /dev/null +++ b/src/routes/leaderboards/index.svelte @@ -0,0 +1,54 @@ + + + + + +
+ +
+ + + {#each Object.entries(data) as [category, leaderboards]} +
+ +
    + {#each leaderboards as leaderboard} + {@const imageUrl = leaderboard.startsWith('collection_') + ? skyblockItemToUrl(leaderboard.slice(11)) + : null} + {#if imageUrl} + + {cleanId(leaderboard)} + + {:else} +
  • {cleanId(leaderboard)}
  • + {/if} + {/each} +
+
+
+ {/each} +
-- cgit