aboutsummaryrefslogtreecommitdiff
path: root/src/routes/+layout.svelte
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/+layout.svelte')
-rw-r--r--src/routes/+layout.svelte45
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 />