fixed simkl and anilist syncing bugs

This commit is contained in:
2024-08-19 08:09:03 -04:00
parent 4d9012b43c
commit e3ed5bb2b9
7 changed files with 149 additions and 73 deletions

View File

@@ -21,7 +21,7 @@
import {type AniListUser, MediaListSort} from "./anilist/types/AniListTypes";
import type {MALAnime, MALWatchlist, MyAnimeListUser} from "./mal/types/MALTypes";
export let aniListAnime: AniListGetSingleAnime
export let aniListAnime = writable({} as AniListGetSingleAnime)
export let title = writable("")
export let anilistModal = writable(false);
export let aniListLoggedIn = writable(false)
@@ -46,8 +46,7 @@
let page: number
let perPage: number
let aniWatchlist: AniListCurrentUserWatchList
let simklWatch: SimklWatchList
let currentSimklAnime: SimklAnime
let currentAniListAnime: AniListGetSingleAnime
let isMalLoggedIn: boolean
let isSimklLoggedIn: boolean
@@ -58,24 +57,38 @@
aniListWatchlist.subscribe(value => aniWatchlist = value)
malLoggedIn.subscribe(value => isMalLoggedIn = value)
simklLoggedIn.subscribe(value => isSimklLoggedIn = value)
simklWatchList.subscribe(value => simklWatch = value)
simklAnime.subscribe(value => currentSimklAnime = value)
aniListAnime.subscribe(value => currentAniListAnime = value)
export async function GetAniListSingleItemAndOpenModal(aniId: number, login: boolean): Promise<""> {
await GetAniListItem(aniId, login).then(aniListResult => {
aniListAnime = aniListResult
title.set(aniListAnime.data.MediaList.media.title.english === "" ?
aniListAnime.data.MediaList.media.title.romaji :
aniListAnime.data.MediaList.media.title.english)
let finalResult: AniListGetSingleAnime
finalResult = aniListResult
if (login === false) {
finalResult.data.MediaList.status = ""
finalResult.data.MediaList.score = 0
finalResult.data.MediaList.progress = 0
finalResult.data.MediaList.notes = ""
finalResult.data.MediaList.repeat = 0
finalResult.data.MediaList.startedAt.day = 0
finalResult.data.MediaList.startedAt.month = 0
finalResult.data.MediaList.startedAt.year = 0
finalResult.data.MediaList.completedAt.day = 0
finalResult.data.MediaList.completedAt.month = 0
finalResult.data.MediaList.completedAt.year = 0
}
aniListAnime.set(finalResult)
title.set(currentAniListAnime.data.MediaList.media.title.english === "" ?
currentAniListAnime.data.MediaList.media.title.romaji :
currentAniListAnime.data.MediaList.media.title.english)
})
if (isMalLoggedIn) {
await GetMyAnimeListAnime(aniListAnime.data.MediaList.media.idMal).then(malResult => {
await GetMyAnimeListAnime(currentAniListAnime.data.MediaList.media.idMal).then(malResult => {
malAnime.set(malResult)
})
}
if (isSimklLoggedIn) {
await SimklSearch(aniListAnime.data.MediaList.media.id).then((value: SimklAnime) => {
await SimklSearch(currentAniListAnime.data.MediaList.media.id).then((value: SimklAnime) => {
simklAnime.set(value)
})
}