made it so we login and grab user watchlist on startup
This commit is contained in:
parent
2f272fe7af
commit
7af14ad7f3
@ -1,13 +1,22 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import {anilistModal, GetAniListSingleItemAndOpenModal, title} from "./GetAniListSingleItemAndOpenModal.svelte";
|
import {anilistModal, GetAniListSingleItemAndOpenModal, title} from "./GetAniListSingleItemAndOpenModal.svelte";
|
||||||
import {GetAniListUserWatchingList, SimklLogin} from "../wailsjs/go/main/App";
|
import {
|
||||||
import {MediaListSort} from "./anilist/types/AniListTypes";
|
CheckIfAniListLoggedIn,
|
||||||
|
CheckIfSimklLoggedIn,
|
||||||
|
GetAniListLoggedInUser,
|
||||||
|
GetAniListUserWatchingList,
|
||||||
|
GetSimklLoggedInUser, SimklGetUserWatchlist,
|
||||||
|
} from "../wailsjs/go/main/App";
|
||||||
|
import {type AniListUser, MediaListSort} from "./anilist/types/AniListTypes";
|
||||||
import type {AniListCurrentUserWatchList} from "./anilist/types/AniListCurrentUserWatchListType"
|
import type {AniListCurrentUserWatchList} from "./anilist/types/AniListCurrentUserWatchListType"
|
||||||
import Header from "./Header.svelte";
|
import Header from "./Header.svelte";
|
||||||
import StarRatting from '@ernane/svelte-star-rating'
|
import StarRatting from '@ernane/svelte-star-rating'
|
||||||
import {Modal} from "flowbite-svelte";
|
import {Button, Modal} from "flowbite-svelte";
|
||||||
|
|
||||||
import ChangeDataDialogue from "./ChangeDataDialogue.svelte";
|
import ChangeDataDialogue from "./ChangeDataDialogue.svelte";
|
||||||
|
import {onMount} from "svelte";
|
||||||
|
import type {SimklUser, SimklWatchList} from "./simkl/types/simklTypes";
|
||||||
|
import {writable} from "svelte/store";
|
||||||
|
|
||||||
const config = {
|
const config = {
|
||||||
readOnly: false,
|
readOnly: false,
|
||||||
@ -19,7 +28,9 @@
|
|||||||
},
|
},
|
||||||
score: 0.0,
|
score: 0.0,
|
||||||
showScore: true,
|
showScore: true,
|
||||||
scoreFormat: function(){ return `(${this.score.toFixed(1)}/${this.countStars})` },
|
scoreFormat: function () {
|
||||||
|
return `(${this.score.toFixed(1)}/${this.countStars})`
|
||||||
|
},
|
||||||
name: "",
|
name: "",
|
||||||
starConfig: {
|
starConfig: {
|
||||||
size: 20,
|
size: 20,
|
||||||
@ -31,11 +42,63 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
let aniListLoggedIn = false
|
let aniListLoggedIn = false
|
||||||
|
let aniListPrimary = true
|
||||||
|
let simklUser: SimklUser
|
||||||
|
let simklLoggedIn = false
|
||||||
|
let aniListUser: AniListUser
|
||||||
let aniListWatchlist: AniListCurrentUserWatchList
|
let aniListWatchlist: AniListCurrentUserWatchList
|
||||||
|
export let simklWatchList = writable({} as SimklWatchList)
|
||||||
let page = 1
|
let page = 1
|
||||||
let perPage = 20
|
let perPage = 20
|
||||||
const size = "xl"
|
const size = "xl"
|
||||||
|
|
||||||
|
onMount(async () => {
|
||||||
|
await CheckIfAniListLoggedIn().then(result => {
|
||||||
|
if (result) {
|
||||||
|
GetAniListLoggedInUser().then(result => {
|
||||||
|
aniListUser = result
|
||||||
|
if (aniListPrimary) {
|
||||||
|
GetAniListUserWatchingList(page, perPage, MediaListSort.UpdatedTimeDesc).then((result) => {
|
||||||
|
aniListWatchlist = result
|
||||||
|
aniListLoggedIn = true
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
aniListLoggedIn = result
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
await CheckIfSimklLoggedIn().then(result => {
|
||||||
|
if (result) {
|
||||||
|
GetSimklLoggedInUser().then(result => {
|
||||||
|
simklUser = result
|
||||||
|
SimklGetUserWatchlist().then(result => {
|
||||||
|
simklWatchList.set(result)
|
||||||
|
simklLoggedIn = result
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
function loginToSimkl(): void {
|
||||||
|
GetSimklLoggedInUser().then(result => {
|
||||||
|
simklUser = result
|
||||||
|
simklLoggedIn = true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function loginToAniList(): void {
|
||||||
|
GetAniListLoggedInUser().then(result => {
|
||||||
|
aniListUser = result
|
||||||
|
aniListLoggedIn = true
|
||||||
|
if (aniListPrimary) {
|
||||||
|
GetAniListUserWatchingList(page, perPage, MediaListSort.UpdatedTimeDesc).then(result => aniListWatchlist = result)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
function anilistGetUserWatchlist(): void {
|
function anilistGetUserWatchlist(): void {
|
||||||
GetAniListUserWatchingList(page, perPage, MediaListSort.UpdatedTimeDesc).then((result) => {
|
GetAniListUserWatchingList(page, perPage, MediaListSort.UpdatedTimeDesc).then((result) => {
|
||||||
aniListWatchlist = result
|
aniListWatchlist = result
|
||||||
@ -61,12 +124,16 @@
|
|||||||
<Header/>
|
<Header/>
|
||||||
|
|
||||||
<main>
|
<main>
|
||||||
|
|
||||||
|
|
||||||
<button class="btn" on:click={anilistGetUserWatchlist}>Login to AniList</button>
|
|
||||||
<button class="btn" on:click={SimklLogin}>Login to Simkl</button>
|
|
||||||
{#if aniListLoggedIn}
|
{#if aniListLoggedIn}
|
||||||
<div>You are logged in {aniListWatchlist.data.Page.mediaList[0].user.name}!</div>
|
<div>You are logged into AniList, {aniListWatchlist.data.Page.mediaList[0].user.name}!</div>
|
||||||
|
{:else}
|
||||||
|
<button class="btn" on:click={loginToAniList}>Login to AniList</button>
|
||||||
|
{/if}
|
||||||
|
|
||||||
|
{#if simklLoggedIn}
|
||||||
|
<div>You are logged into Simkl, {simklUser.user.name}</div>
|
||||||
|
{:else}
|
||||||
|
<Button class="btn" on:click={loginToSimkl}>Login to Simkl</Button>
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
{#if aniListLoggedIn}
|
{#if aniListLoggedIn}
|
||||||
|
Loading…
Reference in New Issue
Block a user