40 lines
1.4 KiB
Svelte
40 lines
1.4 KiB
Svelte
<script lang="ts">
|
|
import {
|
|
aniListLoggedIn,
|
|
aniListAnime,
|
|
GetAniListSingleItem,
|
|
} from "./helperModules/GlobalVariablesAndHelperFunctions.svelte";
|
|
import {onMount} from "svelte";
|
|
import Router from "svelte-spa-router"
|
|
import Home from "./routes/Home.svelte";
|
|
import {wrap} from "svelte-spa-router/wrap";
|
|
import Spinner from "./helperComponents/Spinner.svelte";
|
|
import Header from "./helperComponents/Header.svelte";
|
|
import {CheckIfAniListLoggedInAndLoadWatchList} from "./helperModules/CheckIfAniListLoggedInAndLoadWatchList.svelte";
|
|
import { CheckIfMALLoggedInAndSetUser } from "./helperModules/CheckIfMyAnimeListLoggedIn.svelte";
|
|
import {CheckIfSimklLoggedInAndSetUser} from "./helperModules/CheckIsSimklLoggedIn.svelte"
|
|
|
|
onMount(async () => {
|
|
await CheckIfAniListLoggedInAndLoadWatchList()
|
|
await CheckIfMALLoggedInAndSetUser()
|
|
await CheckIfSimklLoggedInAndSetUser()
|
|
})
|
|
</script>
|
|
|
|
<Header />
|
|
<Router routes={{
|
|
'/': Home,
|
|
'/anime/:id': wrap({
|
|
asyncComponent: () => import('./routes/Anime.svelte'),
|
|
conditions: [
|
|
() => $aniListLoggedIn,
|
|
async (detail) => {
|
|
await GetAniListSingleItem(Number(detail.params.id), true)
|
|
return Object.keys($aniListAnime).length!==0
|
|
},
|
|
],
|
|
loadingComponent: Spinner
|
|
}),
|
|
// '*': "Not Found"
|
|
}} />
|