Skip to content

Commit 2121106

Browse files
Add more info for token
1 parent d5b3999 commit 2121106

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

src/routes/+layout.svelte

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,14 @@
204204
{#if userInfoError}
205205
<p class="text-sm text-red-500">{userInfoError.message}</p>
206206
{:else if userInfo}
207+
{@const currentUsageHeader = userInfo.headers["x-ratelimit-used"]}
208+
{@const currentUsage = currentUsageHeader ? Number(currentUsageHeader) : 0}
209+
{@const maxUsageHeader = userInfo.headers["x-ratelimit-remaining"]}
210+
{@const maxUsage = maxUsageHeader ? Number(maxUsageHeader) : 0}
211+
{@const resetHeader = userInfo.headers["x-ratelimit-reset"]}
212+
{@const resetTime = resetHeader
213+
? new Date(Number(resetHeader) * 1000)
214+
: undefined}
207215
<p class="text-sm text-green-500">
208216
Logged in as <strong>{userInfo.data.login}</strong>.
209217
</p>
@@ -220,6 +228,23 @@
220228
{/if}
221229
</p>
222230
{/each}
231+
{#if currentUsageHeader && maxUsageHeader}
232+
{#if currentUsage < maxUsage}
233+
{@const percentage = (currentUsage / maxUsage) * 100}
234+
<p class="text-sm text-green-500">
235+
You have <strong>{maxUsage - currentUsage}</strong> ({(
236+
100 - percentage
237+
).toFixed()}%) requests left.
238+
</p>
239+
{:else}
240+
<p class="text-sm text-red-500">
241+
You have no requests left.
242+
{#if resetTime}
243+
Reset at {resetTime.toLocaleTimeString()}.
244+
{/if}
245+
</p>
246+
{/if}
247+
{/if}
223248
{:else}
224249
<p class="text-sm text-muted-foreground">
225250
Tired of getting rate-limited? Input your token.

0 commit comments

Comments
 (0)