aboutsummaryrefslogtreecommitdiff
path: root/src/routes/user/+page.svelte
blob: 20a8d3907c05d74b593f70560280a01efc7cfbfc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<script lang="ts">
import { browser } from "$app/environment";
import { goto } from "$app/navigation";
import type { UserIdentity } from "$lib/Data/AniList/identity";
import { onMount } from "svelte";
import { env } from "$env/dynamic/public";
import HeadTitle from "$lib/Home/HeadTitle.svelte";
import root from "$lib/Utility/root";
import { page } from "$app/stores";
import localforage from "localforage";

onMount(async () => {
	if (browser) {
		const identity = await localforage.getItem<UserIdentity>("identity");
		const user = identity?.name;

		if (user) {
			if (browser && $page.url.searchParams.get("badges") !== null) {
				goto(root(`/user/${user}/badges`));
			} else {
				goto(root(`/user/${user}`));
			}
		} else {
			goto(
				`https://anilist.co/api/v2/oauth/authorize?client_id=${env.PUBLIC_ANILIST_CLIENT_ID}&redirect_uri=${env.PUBLIC_ANILIST_REDIRECT_URI}&response_type=code`,
			);
		}
	}
});
</script>

<HeadTitle route="Profile" path="/user" />