diff options
Diffstat (limited to 'src/routes/+layout.svelte')
| -rw-r--r-- | src/routes/+layout.svelte | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte new file mode 100644 index 00000000..2445967e --- /dev/null +++ b/src/routes/+layout.svelte @@ -0,0 +1,45 @@ +<script> + import { PUBLIC_ANILIST_CLIENT_ID, PUBLIC_ANILIST_REDIRECT_URI } from '$env/static/public'; + import { userIdentity } from '$lib/AniList/identity'; + import { onMount } from 'svelte'; + import { lastActivityDate } from '$lib/AniList/activity'; + + export let data; + + let currentUserIdentity = { name: '', id: -1 }; + let lastActivityWasToday = true; + + onMount(async () => { + if (data.user !== undefined) { + currentUserIdentity = await userIdentity(data.user); + currentUserIdentity.name = `(${currentUserIdentity.name})`; + lastActivityWasToday = + (await lastActivityDate(currentUserIdentity)).toDateString() === new Date().toDateString(); + } + }); +</script> + +<p /> + +<h1><a href="/">期限</a></h1> + +{#if data.user === undefined} + <a + href={`https://anilist.co/api/v2/oauth/authorize?client_id=${PUBLIC_ANILIST_CLIENT_ID}&redirect_uri=${PUBLIC_ANILIST_REDIRECT_URI}&response_type=code`} + >Log in with AniList</a + > +{:else} + <a href="/authentication/log-out">Log out from AniList {currentUserIdentity.name}</a> +{/if} + +{#if !lastActivityWasToday} + <p /> + + <p>You don't have any new activity statuses from the past day! Create one to keep your streak!</p> +{/if} + +<p /> + +<hr /> + +<slot /> |