From b89d0e7dada186e31be37e62a7a75efc2dbe9c99 Mon Sep 17 00:00:00 2001
From: Fuwn <contact@fuwn.me>
Date: Sat, 26 Aug 2023 22:29:03 -0700
Subject: feat: initial build

---
 src/routes/+layout.svelte | 45 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)
 create mode 100644 src/routes/+layout.svelte

(limited to 'src/routes/+layout.svelte')

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 />
-- 
cgit v1.2.3

